数据类型不一致的熊猫数据框的子集

时间:2018-09-26 17:29:14

标签: python pandas

enter image description here

我有一个看起来像这样的数据框。 我想找到仅适用于7/31/2018的此数据框的子集。 7/31/2018是一个日期时间对象。

如何子选择第2、3、4、5行并停止(不包括)第6行?

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您可以使用.iloc。这使您可以按数字访问行。要选择第2、3、4和5行,只需使用

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

请记住,尽管这些行的索引是0,即第一行是0

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

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

答案 2 :(得分:0)

日期之间的行数是否固定?

如果是这样,您可以使用以下重复日期创建新列:

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

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

>

之后,您只需执行

就可以过滤出您想要的内容
df[df['dates'] == '7/31/2018']