![](/img/trans.png)
[英]Python: Updating a single value in a Pandas Dataframe using loc[]+iloc[]+loc[]
[英]Python, panda replace value using loc
我不明白为什么这个剂量不起作用。 我想找到所有空单元格并在其中写入列名加 100。例如“OrgName100”
columns =['OrgName','IdCode','CategoryMain']
for columnName in columns:
df.loc[df[columnName] == ' ', [columnName]] = columnName + '100'
用nan
替换您的 ' ' 字符串,然后使用fillna
:
columns = ['OrgName', 'IdCode', 'CategoryMain']
mapping = {c: f'{c}100' for c in columns}
df[columns] = df[columns].replace(' ', np.nan).fillna(mapping)
更新
我可以添加一列而不是 100 特定行值。 例如在第5行的OrgName写“134”,我想在Idcode第5行(在空单元格中)写Idcode134?
df1 = (pd.DataFrame([df.columns], columns=df.columns, index=df.index)
+ df['OrgName'].values.reshape(-1, 1))
df[columns] = df[columns].replace(' ', np.nan).fillna(df1)
print(df)
# Output
OrgName IdCode CategoryMain
0 x 1 f
1 y 2 d
2 z IdCodez g
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.