代码之家  ›  专栏  ›  技术社区  ›  JungleDiff

数据类型不一致的数据帧的子集

  •  0
  • JungleDiff  · 技术社区  · 6 年前

    enter image description here

    我有一个像这样的数据帧。 我想找到这个数据帧的一个子集,它只适用于2018年7月31日。 2018年7月31日是datetime对象。。

    如何再选择行2、3、4、5和停止(不包括)6?

    3 回复  |  直到 6 年前
        1
  •  1
  •   Sven Harris    6 年前

    它看起来仍然在电子表格软件中,所以您可以使用read\u csv中的nrows参数只读取到该点

    pd.read_csv("mycsv.csv", nrows=4, skiprows=1)
    

    如果您想读入并按第一个完全空白的行拆分

    first_blank_line = df.isnull().all(axis=1).idxmax()
    final_df = df.iloc[:first_blank_line]
    
        2
  •  0
  •   Andy    6 年前

    你可以用 .iloc . 这允许您按编号访问行。要选择行2、3、4和5,只需使用

    df.iloc[[2,3,4,5]]
    

    请记住,行是0索引的,即第一行是0索引的 0 .

    read_csv() ,也可以使用参数 skiprows nrows 要指定要读取的行,请执行以下操作:

    https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html

        3
  •  0
  •   Carlos Santos    6 年前

    如果是这样,您可以创建一个新列,其中包含重复的日期:

    dates = df[0][::6].repeat(6)
    df['dates'] = dates.values
    

    然后您需要删除标题行,或者使用它们将具有空值的事实(如果您在其他地方没有空值),或者使用我在上面所做的关于行之间距离的相同推理。

    在那之后,你可以通过简单的操作过滤掉你想要的东西

    df[df['dates'] == '7/31/2018']
    
    推荐文章