Мне было просто любопытно, что здесь происходит.У меня есть 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 фреймов данных создаются посредством понимания этого списка, я получаю очень странный результат.Как будто я установил axis=1
внутри функции pd.concat()
.Если я пытаюсь сослаться на столбец, скажем, val
df['val']
Pandas возвращает что-то похожее на это:
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 ведет себя так, как я себе представляю, он просто объединяет столбцы с одинаковыми именами заголовков, но, очевидно, это не так.
Если когда-нибудь удастся объяснить это, было бы здорово.