【发布时间】:2020-09-22 18:45:09
【问题描述】:
因此,如果该行为空,我会尝试为列中的一行分配一个新值。我试图检查是否有空行,然后写入操作语句,但它似乎不起作用。例如,如果 A 列等于“Big”,B 列是“None”,那么我希望 B 列中的该行等于“Tall”。如果 B 列已经有值,那就没问题了。任何帮助将不胜感激!
示例数据框:
Column A Column B
Big None
Big Tall
Small Short
Medium None
Small None
Medium Average
我尝试过的代码:
df.loc[df['Column B'].isnull(), 'Column B'] = 'Fill' #used to fill in the "None Type" rows?
df['Column A'] = df['Column A'].astype(str)
for row in df.iterrows():
if df.loc[df['Column B'].str.contains('Fill'):
df.loc[df['Column A'].str.contains('Big'), 'Column B'] = 'Tall'
df.loc[df['Column A'].str.contains('Medium'), 'Column B'] = 'Average'
df.loc[df['Column A'].str.contains('Small'), 'Column B'] = 'Short'
但是,这失败了。只是试图用上面从 A 列值确定的相应值替换“无”B 列值。
【问题讨论】:
标签: python pandas numpy dataframe null