python - 将列表传递给 pandas loc 方法
问题描述
我想更改熊猫数据框中某些列的值。但是如果我在里面传递一个列列表,我似乎做不到loc
。
df = pd.DataFrame({
"ID" : [1, 2, 3, 4, 5],
"QA_needed" : [0, 1, 1, 0, 1],
"QC_needed" : [1, 0, 1, 0, 0],
"Report_needed" : [1, 1, 1, 0, 1]
})
df.loc[:, ["QA_needed", "Report_needed"]].replace({1: "True", 0: "False"}, inplace=True)
为此,我必须单独替换每列的值
df.loc[:, "QA_needed"].replace({1: "True", 0: "False"}, inplace=True)
df.loc[:, "QC_needed"].replace({1: "True", 0: "False"}, inplace=True)
有没有办法将列表传递["QA_needed", "Report_needed"]
给loc
方法?
解决方案
尝试update
df.update(df.loc[:, ["QA_needed", "Report_needed"]].replace({1: "True", 0: "False"}))
df
Out[96]:
ID QA_needed QC_needed Report_needed
0 1 False 1 True
1 2 True 0 True
2 3 True 1 True
3 4 False 0 False
4 5 True 0 True
推荐阅读
- android - 如何使用库提供的辅助函数?
- r - ggplot 将闪避与堆叠条形图相结合
- laravel - API 速率限制响应无效标头
- c++ - Sdbus-c++ 和 Bluez-Mesh:org.bluez.mesh.Element1 接口中的属性获取器
- javascript - VM305:5551 crbug/1173575,非 JS 模块文件已弃用
- asp.net - 如何从 ASP.NET 项目中创建一个 exe
- java - Alpha 动画有效,然后无效
- c# - 在c#中降低pdf流的DPI
- amazon-web-services - 如何通过 AWS SQS 触发 AWS Gluejob
- mysql - Prisma 在 mysql 中生成大写的数据库表。有没有办法只生成小写的表格?