gpt4 book ai didi

python - 在读取 csv 或 tsv 文件之前在 Pandas DataFrame 列上应用条件

转载 作者:太空宇宙 更新时间:2023-11-04 10:09:08 25 4
gpt4 key购买 nike

如果我已经知道列名和类型,是否可以在读取 csv 或 tsv 文件之前为 DataFrame 列设置条件(过滤器)?如果是,如何?

例如:考虑在一个非常大的文件中有两个数字列(col1 和 col2)。我不想将整个文件加载到内存中,只选择 col1 大于 col2 的那些行。因此,首先,我想在数据帧上设置条件,它应该只读取 csv 文件中 col1 大于 col2 的那些行。我希望我的解释有意义。

谢谢

最佳答案

您可以使用 blaze为此,这是与 pandas 一起使用的便捷工具。

让我们假设一个输入文件:

a,b
1,2
3,4
5,3
3,6
6,1

然后我们打开文件并查询数据 - 请注意,在您尝试具体化/访问它之前不会执行查询:

import blaze
import pandas as pd

csv_data = blaze.Data('input.csv')
query = csv_data[csv_data['a'] > csv_data['b']]
df = pd.DataFrame.from_records(query, columns=query.fields)

然后给出 df 为:

   a  b
0 5 3
1 6 1

关于python - 在读取 csv 或 tsv 文件之前在 Pandas DataFrame 列上应用条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39351036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com