您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在pandas中彼此堆叠数据帧

如何在pandas中彼此堆叠数据帧

您就快到了。

问题在于,每个子数据帧中的列名都不同。因此,当pandas执行时concat,它不仅将数据框追加到底部,还扩展了数据框以使其具有正确名称的新列,然后追加了行。

您可以通过重命名子数据框中的列来解决此问题,例如

for sub_df in pieces:
    sub_df.columns=range(12)

df2df8包含你想要什么,我想。由于某种原因,您df1只包含了前7列,而不是12列。我假设这是一个错字。

产生完整的工作代码(我将您的输入数据复制到名为的文件'data1.csv'

import pandas as pd
import numpy as np

df = pd.read_csv('data1.csv')

df1 = df.ix[:,0:12]
df2 = df.ix[:,12:24]
df3 = df.ix[:,24:36]
df4 = df.ix[:,36:48]
df5 = df.ix[:,48:60]
df6 = df.ix[:,60:72]
df7 = df.ix[:,72:84]
df8 = df.ix[:,84:96]

pieces = (df1,df2,df3,df4,df5,df6,df7,df8)

# Give the columns the same labels in each sub dataframe
# I've used numbers for convenience - you can give more descriptive names if you want
for sub_df in pieces:
    sub_df.columns=range(12)

df_final = pd.concat(pieces, ignore_index = True)

print df_final
其他 2022/1/1 18:48:29 有363人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶