在 pandas DF 中添加行作为数字列索引?

Add row in pandas DF as numeric column index?

我已经尝试了几种方法,但都被难住了。我的最后一次尝试产生了一个错误,上面写着:"ValueError: Plan shapes are not aligned"

所以我有一个数据框,根据从外部文件读取的数据,它最多可以包含大约 1,000 列。这些列都有自己的 labels/names,即 "Name"、"BirthYear"、Hometown”等。我想在从 0 到 dataframe 的开头添加一行(有多少列),所以如果数据最终有 232 列,这个新的第一行的值为 0,1,2,3,4....229,230,231,232.

我正在做的是创建一个单行数据帧,其中包含与主 ("mega") 数据帧中一样多的 columns/values,然后将它们连接起来。它向我抛出了这个形状错误,但是当我打印每一帧的形状时,它们在长度上是匹配的。不确定我做错了什么,任何帮助将不胜感激。谢谢!

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

这是一种方法。根据您的数据,这可能会混合类型(例如,如果一列是时间戳)。此外,这会以兆为单位重置您的索引。

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