【发布时间】:2023-01-24 14:20:42
【问题描述】:
我想用这样的字典替换数据框列中的 NaN:{"value":["100"]}
df[column].apply(type).value_counts()
输出:
<class 'dict'> 11565
<class 'float'> 43
df[column].isna().sum()
输出=> 43
我怎样才能做到这一点?
【问题讨论】:
我想用这样的字典替换数据框列中的 NaN:{"value":["100"]}
df[column].apply(type).value_counts()
输出:
<class 'dict'> 11565
<class 'float'> 43
df[column].isna().sum()
输出=> 43
我怎样才能做到这一点?
【问题讨论】:
使用 lambda 函数替换为字典:
df = pd.DataFrame({'column':[np.nan, {'a':[4,5]}]})
d = {"value":["100"]}
df['column'] = df['column'].apply(lambda x: d if pd.isna(x) else x)
print (df)
column
0 {'value': ['100']}
1 {'a': [4, 5]}
或列表理解:
df['column'] = [d if pd.isna(x) else x for x in df['column']]
【讨论】: