python - 如何根据特定列的值从 CSV 文件中选择值
问题描述
以这个 csv 为例:
Col1, Col2
1,3,
0,5,
1,4
0,7
假设我有一个列表,并且只有在同一行中Col2
的值为 时,我才想将 的值附加到列表中。结果列表应该是.Col1
1
[3,4]
我如何在不使用 pandas 的情况下做到这一点iterrows()
?
解决方案
我认为
.loc
是最pythonic和最简单的方法。df.loc[df['Col1'] == '1']['Col2'].to_list()
另一种使用
np.where
:import numpy as np df['Col3'] = np.where(df['Col1'] == 1, df['Col2'], '') listt = list(filter(None,df['Col3'].to_list()))
zip
是 的循环替代方案iterrows
。listt = [] for x, y in zip(df['Col1'], df['Col2']): if x == 1: listt.append(y)
推荐阅读
- php - 联系表格有问题,无法从提交的表格接收电子邮件
- vue.js - 如何验证列表项而不在 Vuelidate 2.0 中呈现它?
- php - open cart 版本 3.0.2.0,(如何使用 Open cart 进行调试?)
- intellij-idea - 使用 WSL 在 IntelliJ 中设置环境变量
- python - 如何联系特定标签并更改其程序之一(例如其 bg)。而不是生产一个新的,我想更新一个旧的
- imsl - 无法使用 IMSL 数值库(许可证文件的位置)
- java - Spring boot 和 React 运行 maven 命令,但在 Localhost:8080 上给了我一个 whitelabel 错误页面
- github - 可以只用 Github Desktop 创建本地仓库吗
- javascript - 需要并行执行数组中的所有请求
- php - 如何在PHP中获取数组的最后一项