簡體   English   中英

Python,熊貓使用 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM