如何将数据框的列标题设置为数据框的第一行并重置列名?
# Creation of dataframe
df = pd.DataFrame({"A": ["1", "4", "7"],
"B": ["2", "5", "8"],
"C": ['3','6','9']})
# df:
A B C
0 1 2 3
1 4 5 6
2 7 8 9
期望的结果:
0 1 2
0 A B C
1 1 2 3
2 4 5 6
3 7 8 9
最佳答案
使用concat
与 Index.to_frame
对一行 DataFrame
进行转置,最后按 range
设置列名:
df = pd.concat([df.columns.to_frame().T, df], ignore_index=True)
df.columns = range(len(df.columns))
print (df)
0 1 2
0 A B C
1 1 2 3
2 4 5 6
3 7 8 9
或者使用DataFrame.set_axis
对于链式方法解决方案:
df = (pd.concat([df.columns.to_frame().T, df], ignore_index=True)
.set_axis(range(len(df.columns)), axis=1))
关于python - 如何将列标题设置为 Pandas 数据框中的第一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70617982/