【发布时间】:2017-01-14 00:44:51
【问题描述】:
如果我已经知道列名和类型,是否可以在读取 csv 或 tsv 文件之前为 DataFrame 列设置条件(过滤器)?如果是,怎么做?
例如:考虑在一个非常大的文件中有两个数字列(col1 和 col2)。我不想将整个文件加载到内存中,并且只选择 col1 大于 col2 的那些行。因此,首先,我想在数据帧上设置条件,它应该只从 csv 文件中读取 col1 大于 col2 的那些行。我希望我的解释有意义。
谢谢
【问题讨论】:
-
你的问题太模糊了,因为它取决于过滤涉及的内容,发布具有代表性的数据样本和所需的输出
-
什么类型的过滤器?我不相信你可以在 Pandas 中读取数据时过滤数据。您需要使用 CSV 阅读器,在读取每一行时过滤数据,然后从过滤后的行创建一个数据框。
-
@EdChum。考虑在一个非常大的文件中有两个数字列(col1 和 col2)。我不想将整个文件加载到内存中,并且只选择 col1 大于 col2 的那些行。因此,首先,我想在数据帧上设置条件,它应该只读取 col1 大于 col2 的那些行。我希望我的解释有意义
-
请根据您更新后的要求使用新的更新详细信息编辑您的问题,是的,可以做到。你能展示你的努力吗
-
@EdChum 我的代码正在逐块读取文件 (pandas-docs.github.io/pandas-docs-travis/…) 并应用条件。然而,这不是我想要的。
标签: python pandas dataframe conditional-statements