【问题标题】:How to extract rows from CSV file based on parameters (Pandas)如何根据参数从 CSV 文件中提取行(Pandas)
【发布时间】:2021-09-26 22:35:19
【问题描述】:

我对编码非常陌生,所以如果我的提问格式不正确,我深表歉意。我很确定我的问题很简单,只是不知道如何解决。

我有一个名为 SouthKoreaRoads2 的 CSV 文件,我使用了以下代码。

import pandas as pd 
import os
SouthKoreaRoads2 = pd.read_csv("SouthKoreaRoads2.csv")

如您所见,第二列中有日期。我需要提取日期在 1975 年以下的行。我应该如何进行呢?非常感谢,非常欢迎任何和所有建议! :)

【问题讨论】:

    标签: python pandas csv data-extraction


    【解决方案1】:

    试试这个

    SouthKoreaRoads2[SouthKoreaRoads2[1] < 1975]
    

    SouthKoreaRoads2[1] 中的 1 占用您的第二列,如果您有关联的列名,只需替换为 SouthKoreaRoads2['the column name']

    或者,如果您喜欢使用坐标,比如说,您也可以使用这个坐标:

    SouthKoreaRoads2[SouthKoreaRoads2.iloc[:, 1] < 1975]
    

    iloc[:, 1] - 取第二列的所有行

    【讨论】:

    • 哇,谢谢 SouthKoreaRoads2[SouthKoreaRoads2['Simplified Date']
    • @Bopy 您可以只进行双重过滤,首先 >1975 在 stackoverflow.com/questions/29370057/…
    • 双重过滤是一个非常有用的建议,谢谢!
    【解决方案2】:

    按日期列过滤您的数据框。

    df = SouthKoreaRoads2[SouthKoreaRoads2['DateColumn'] < 1975]
    

    或

    df = SouthKoreaRoads2.query('DateColumn< 1975') 
    

    假设列名为DateColumn

    【讨论】:

    • 我的列名为 Simplified Date,我做了 df = SouthKoreaRoads2[SouthKoreaRoads2['Simplified Date']
    • 您的代码示例显示数据框被称为SouthKoreaRoads2,除非您更改它,否则应该可以使用
    猜你喜欢
    • 1970-01-01
    • 2021-06-22
    • 2016-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    • 2019-08-12
    相关资源
    最近更新 更多