python - lambda 函数用 name_with_spaces 替换列名

标签 python pandas

我有一些代码:

df.groupby(['Image','Roi']).apply(lambda x: x.loc[~(x.duplicated(['Total']) & x.Total.isnull())])

我希望将“Total”替换为包含空格的较长 PANDAS 列名称,但这会引发语法错误:

df.groupby(['Image','Roi']).apply(lambda x: x.loc[~(x.duplicated(['Total size']) & x.['Total size'].isnull())])

最佳答案

访问数组元素时不要使用:

x.['Total size'].isnull()
 ^

相反,只需在后面加上括号即可:

x['Total size'].isnull()

关于python - lambda 函数用 name_with_spaces 替换列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38230117/

相关文章:

python - pandas 中的左连接无需创建左右变量

python - 如何从 HTML 页面中检索字符集

python - 在 Windows 上使用 Git 访问 Mercurial 存储库

python - Pandas :如果 df1 列的值在 df2 列的列表中则加入

python - 向 Pandas 数据透视表添加过滤器

python-3.x - 尝试拆分对象数据类型的列以在数据帧中创建单独的列。收到错误 : "' float object is not subscriptable"

python - 在 matplotlib 字幕中偏移一个字符

python - 如何从 tkinter 复选框中删除勾号

python - 随机选择两个列表的某些索引创建两个新列表

python - 如何在多级索引中为某些列(但不是全部)交换级别