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

Python 数据类型不一致的数据帧的子集,python,pandas,Python,Pandas,我有一个像这样的数据框。 我想找到仅适用于2018年7月31日的数据帧子集。 2018年7月31日是日期时间对象 如何再选择行2、3、4、5和停止(不包括)6?您可以使用.iloc。这允许您按编号访问行。要选择行2、3、4和5,只需使用 df.iloc[[2,3,4,5]] 请记住,行是0索引的,即第一行是0 如果使用read_csv()读取数据,还可以使用参数skiprows和nrows指定要读取的行: 这看起来仍在电子表格软件中,因此您可以使用read\u csv中的nrows参数仅读取到

我有一个像这样的数据框。 我想找到仅适用于2018年7月31日的数据帧子集。 2018年7月31日是日期时间对象


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

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

df.iloc[[2,3,4,5]]
请记住,行是0索引的,即第一行是
0

如果使用
read_csv()
读取数据,还可以使用参数
skiprows
nrows
指定要读取的行:


这看起来仍在电子表格软件中,因此您可以使用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]

日期之间的行数是否固定

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

dates = df[0][::6].repeat(6)
df['dates'] = dates.values
然后,您需要删除标题行,或者使用它们将具有空值的事实(如果您在其他地方没有空值),或者使用我在上面所做的关于行之间距离的相同推理

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

df[df['dates'] == '7/31/2018']

我希望动态地执行此操作,而用户(I)不知道给定的子数据帧提前停止在哪里。因此,也许可以将其读入,然后在第一个完全空白的行处剪切?这符合标准吗?完全符合,但我还不确定怎么做。@JunJang请查看我的编辑以了解如何做到这一点。我希望动态地做到这一点,而用户(I)不知道给定的子数据帧提前停止在哪里。