python - 如何将添加字符串应用到数据框子集的列

标签 python string pandas subset

因此,在字符串前面简单添加一个字符串作为我的数据帧子集中的列的一部分是行不通的。如果没有收到错误消息,新字符串不会根据 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/

相关文章:

c++ - 将文件转换为 char* 问题

java - Int 类型和 String 类型不兼容

Python ExcelWriter 格式 'all borders'

python - 设置sqlite临时存储目录

python - 具有取决于输入参数的通用理解返回类型的函数?

string - 帕斯卡比较字符串

python - 按时间戳和列组合 Pandas DataFrame 行

python - 如何修复 Django 中 URL 不总是在没有尾部斜杠的情况下重定向的问题

python - django 服务 : wsgi. py? 'cannot be loaded as Python module'

python - PANDAS & glob - Excel 文件格式无法确定,必须手动指定引擎