【发布时间】:2022-01-07 08:18:45
【问题描述】:
我这个数据框:
86,1/28/2004 0:00:00,16.9
86,5/25/2004 0:00:00,17.01
86,7/22/2004 0:00:00,17.06
87,11/15/2004 0:00:00,7.39
87,3/14/2005 0:00:00,7.59
86,11/15/2004 0:00:00,17.29
86,3/14/2005 0:00:00,17.38
86,4/19/2005 0:00:00,17.43
86,5/19/2005 0:00:00,17.28
87,1/22/2004 0:00:00,7.44
87,5/13/2004 0:00:00,7.36
我想根据第一列的值 (id) 处理两个单独的数据框。理想情况下,我希望:
87,11/15/2004 0:00:00,7.39
87,3/14/2005 0:00:00,7.59
87,1/22/2004 0:00:00,7.44
87,5/13/2004 0:00:00,7.36
和
86,1/28/2004 0:00:00,16.9
86,5/25/2004 0:00:00,17.01
86,7/22/2004 0:00:00,17.06
86,11/15/2004 0:00:00,17.29
86,3/14/2005 0:00:00,17.38
86,4/19/2005 0:00:00,17.43
86,5/19/2005 0:00:00,17.28
如您所见,我有一个数据框,第一列全部为 87,另一个数据框为 86。
这就是我读取数据框的方式:
dfr = pd.read_csv(fname,sep=',',index_col=False,header=None)
如果我对命令的理解正确,我认为 groupby 不是正确的选项。
我正在考虑查询:
aa = dfr.query(dfr.iloc[:,0]==86)
但是,我有这个错误:
expr must be a string to be evaluated, <class 'pandas.core.series.Series'> given
感谢任何帮助。
【问题讨论】:
-
aa = dfr[dfr[0].eq(86)]?