我尝试了几种方法,但我很难过。我的最后一次尝试产生了一个错误:" ValueError:计划形状未对齐"
因此,根据从外部文件读入的数据,我有一个数据框,其中最多可包含1,000列。这些列都将拥有自己的标签/名称,即" Name"," BirthYear",Hometown"等等。我想在开头添加一行从0到(尽可能多的列)的数据帧,因此如果数据最终有232列,则新的第一行的值为0,1,2,3,4 .... 229,230,231,232。
我正在做的是创建一个单行数据帧,其列数/值与主(" mega")数据帧中的列数/值一样多,然后将它们连接起来。它向我抛出这个形状错误,但是当我打印每个框架的形状时,它们在长度方面匹配。不知道我做错了什么,任何帮助将不胜感激。谢谢!
colList = list(range(0, len(mega.columns)))
indexRow = pd.DataFrame(colList).T
print(indexRow)
print(indexRow.shape)
print(mega.shape)
mega = pd.concat([indexRow, mega],axis=0)
结果是......
0 1 2 3 4 5 6 7 8 9 ... 1045 \
0 0 1 2 3 4 5 6 7 8 9 ... 1045
1046 1047 1048 1049 1050 1051 1052 1053 1054
0 1046 1047 1048 1049 1050 1051 1052 1053 1054
[1 rows x 1055 columns]
(1, 1055)
(4, 1055)
ValueError: Plan shapes are not aligned
答案 0 :(得分:3)
这是一种方法。根据您的数据,这可能会混合类型(例如,如果一列是时间戳)。此外,这会重置您的索引。
mega = pd.DataFrame(np.random.randn(3,3), columns=list('ABC'))
indexRow = pd.DataFrame({col: [n] for n, col in enumerate(mega)})
>>> pd.concat([indexRow, mega], ignore_index=True)
A B C
0 0.000000 1.000000 2.000000
1 0.413145 -1.475655 0.529429
2 0.416250 -0.055519 1.611539
3 0.154045 -0.038109 1.020616