我是一个python初学者,正在编写代码来操纵数据框来聚合位于两个值之间的行。该值是从数据框本身的一个值中提取的。
a = df_gb1.loc[0,['TimeStamp']]
我使用a和+ 0.4作为两个边界来获取所有行。
df_gb1[df_gb1['TimeStamp'].between(a-0,a+0.4, inclusive=True)]
我不知道更好的方法来实现这一点,但它仍然给了我这个错误:
就像我之前说过的,我对python很新,所以我不太清楚数据类型是如何相互协作的。好像a
似乎也是系列。
如何实施我尝试做的事情?
答案 0 :(得分:2)
我认为您只需要为返回标量[]
删除a
,否则输出为Series
:
df_gb1 = pd.DataFrame({'TimeStamp':[3,3.1,5,7.1,3.4],
'a':[4,5,6,7,8]})
print (df_gb1)
TimeStamp a
0 3.0 4
1 3.1 5
2 5.0 6
3 7.1 7
4 3.4 8
a = df_gb1.loc[0,'TimeStamp']
print (a)
3.0
print (df_gb1[df_gb1['TimeStamp'].between(a-0,a+0.4, inclusive=True)])
TimeStamp a
0 3.0 4
1 3.1 5
4 3.4 8
print (df_gb1.loc[0,['TimeStamp']])
TimeStamp 3.0
Name: 0, dtype: float64