在操作数据帧时,引发ValueError('系列长度必须匹配以比较')

时间:2016-12-07 20:40:50

标签: python pandas

我是一个python初学者,正在编写代码来操纵数据框来聚合位于两个值之间的行。该值是从数据框本身的一个值中提取的。

a = df_gb1.loc[0,['TimeStamp']]

我使用a和+ 0.4作为两个边界来获取所有行。

df_gb1[df_gb1['TimeStamp'].between(a-0,a+0.4, inclusive=True)]

我不知道更好的方法来实现这一点,但它仍然给了我这个错误:

error

就像我之前说过的,我对python很新,所以我不太清楚数据类型是如何相互协作的。好像a似乎也是系列。

如何实施我尝试做的事情?

1 个答案:

答案 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