我想返回fillna,但我只想回填一个na值,并用一个特定值(1)替换该值
我试过用
df.fillna(value=1,method='bfill',inplace=True,limit=1)
但我明白了
ValueError: Cannot specify both 'value' and 'method'.
因为我不能同时使用方法和值。如果这是可能的,我将不会问这个问题(熊猫可能应该研究一个新的更新)
举个例子:
import pandas as pd
import numpy as np
col1 = [3,2,2,np.nan,np.nan,np.nan,2,6,np.nan,np.nan,np.nan,6]
col2 = [8,2,np.nan,np.nan,6,0,np.nan,5,np.nan,6,6,3]
col3 = [np.nan,np.nan,np.nan,np.nan,6,7,np.nan,1,np.nan,np.nan,3,4]
df = pd.DataFrame(data=[col1,col2,col3],columns=['col1','col2','col3'])
print(df)
index col1 col2 col3
0 3 8 np.nan
1 2 2 np.nan
2 2 np.nan np.nan
3 np.nan np.nan np.nan
4 np.nan 6 6
5 np.nan 0 7
6 2 np.nan np.nan
7 6 5 1
8 np.nan np.nan np.nan
9 np.nan 6 np.nan
10 np.nan 6 3
11 6 3 4
这是我想要的结果:
index col1 col2 col3
0 3 8 np.nan
1 2 2 np.nan
2 2 np.nan np.nan
3 np.nan 1 1
4 np.nan 6 6
5 1 0 7
6 2 1 1
7 6 5 1
8 np.nan 1 np.nan
9 np.nan 6 1
10 1 6 3
11 6 3 4
我已经干了好几个小时了。任何事都值得感激!你知道吗
显然
ffill
无法同时指定value
和method
。以下是另一种方法:你可以
bfill
用限制1,不管哪个值。然后检查哪个值已填充,但仍然NaN
在原始数据帧中。您填写的索引1
:输出
相关问题 更多 >
编程相关推荐