我有一個包含空欄位的資料框。我想用“未知”一詞替換所有空欄位。以下是我嘗試過的:
import pandas as pd
import numpy as np
df = pd.DataFrame([
[-0.532681, 'foo', 0],
[1.490752, 'bar', 1],
[-1.387326, 'foo', 2],
[0.814772, 'baz', ' '],
[-0.222552, ' ', 4],
[-1.176781, 'qux', ' '],
], columns='A B C'.split(), index=pd.date_range('2000-01-01','2000-01-06'))
# replace field that's entirely space (or empty) with unkonwn
value = 'unkown'
df = df.apply(lambda x: np.value if isinstance(x, str) and x.isspace() else x)
print(df)
這是我得到的:
A B C
2000-01-01 -0.532681 foo 0
2000-01-02 1.490752 bar 1
2000-01-03 -1.387326 foo 2
2000-01-04 0.814772 baz
2000-01-05 -0.222552 4
2000-01-06 -1.176781 qux
這就是我要的
A B C
2000-01-01 -0.532681 foo 0
2000-01-02 1.490752 bar 1
2000-01-03 -1.387326 foo 2
2000-01-04 0.814772 baz unkown
2000-01-05 -0.222552 uknown 4
2000-01-06 -1.176781 qux unkown
uj5u.com熱心網友回復:
使用^\s*$方法為更換只有零,一個或多個空字串:
df = df.replace('^\s*$', value, regex=True)
print (df)
A B C
2000-01-01 -0.532681 foo 0
2000-01-02 1.490752 bar 1
2000-01-03 -1.387326 foo 2
2000-01-04 0.814772 baz unkown
2000-01-05 -0.222552 unkown 4
2000-01-06 -1.176781 qux unkown
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/366361.html
