因此,在字符串前面简单添加一个字符串作为我的数据帧子集中的列的一部分是行不通的。如果没有收到错误消息,新字符串不会根据 column_2 中所选的匹配值子集对 column_1 应用加法。
以下代码有效,输出会在子集选择中的字符串前面添加“w”。
'w' + df[(df.column_2 == 'af')]['column_1'].astype(str)
此代码输出所选列的所需结果。下面的代码应将其应用于 df,但它似乎没有将“w”添加到数据帧子集中。
df[(df.column_2 == 'af')]['column_1'] = 'w' + df[(df.column_2 == 'af')]['column_1'].astype(str)
我在这里缺少什么?
最佳答案
使用DataFrame.loc
避免chained indexing两侧:
m = (df.column_2 == 'af')
df.loc[m, 'column_1'] = 'w' + df.loc[m, 'column_1'].astype(str)
关于python - 如何将添加字符串应用到数据框子集的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61079291/