我只是好奇这里发生了什么。我有13个数据帧,看起来像这样:
df1型:
time val
00:00 1
00:01 2
00:02 5
00:03 8
df2型:
time val
00:04 5
00:05 12
00:06 4
df3公司:
time val
00:07 8
00:08 24
00:09 3
等等。正如您所看到的,每个数据帧都会在另一个数据帧停止的地方继续运行,这意味着为了简单起见,理想情况下我希望它们出现在一个数据帧中。请注意,我使用的示例要比实际的小得多。但是,在使用以下各项时:
df = pd.concat([pd.read_csv(i, usecols=[0,1,2]) for i in sample_files])
这13个数据帧是通过列表理解产生的,我得到了一个非常奇怪的结果。就好像我在pd.concat()
函数中设置了axis=1
。如果我试图引用一列,就说val
df['val']
熊猫返回的东西是这样的:
0 1
1 2
...
2 5
3 8
Name: val, Length: 4, dtype: float64
在这个输出中,它没有指定其他11 val
列发生了什么。如果我引用一个索引,如下所示:
df['val'][0]
它返回:
0 1
0 5
0 8
Name: val, dtype: float64
它是每列的第一个索引。我不确定为什么pandas的行为是这样的,因为我可以想象它只是将具有相似标题名的列连接在一起,但显然不是这样。你知道吗
如果有时间能解释这一点那就太好了。你知道吗
我相信你的问题是,你不是重置索引后串联,但在选择数据之前。你知道吗
尝试:
相关问题 更多 >
编程相关推荐