python - 将列标题转换为顶行
问题描述
我需要将以下数据框的列标题转换为顶行。我已经做过试验,但它重命名不添加数据。我们可以在不转置数据帧的情况下做到这一点吗?
df1 = pd.DataFrame({'0': {0: None, 1: None, 2: None}, 'A': {0: 'X', 1: 'Y', 2: 'Z'}, 'B': {0: '1', 1: '0', 2: '13'}})
print (df1)
df1.columns = range(df1.shape[1])
预期输出:
解决方案
将列转换为DataFrame
,转置为一行 DataFrame 并添加到原始数据:
df = df1.columns.to_frame().T.append(df1, ignore_index=True)
print (df)
0 A B
0 0 A B
1 None X 1
2 None Y 0
3 None Z 13
如有必要,将0
列设置为None
:
df['0'] = None
print (df)
0 A B
0 None A B
1 None X 1
2 None Y 0
3 None Z 13
推荐阅读
- aframe - A-Frame 0.9.0 中的手控组件支持
- octave - sum elements of vector excluding the first element in Octave
- javascript - Angular在构建时没有嵌入所有脚本
- xml - WPF - Defining a xmlns based on another xmlns
- python - How can I increment numbers in a list without creating a new list?
- azure-storage - 使用共享访问签名的 Azure 文件存储 API 访问
- angular - Angular:自动接受自签名证书
- python - Python:提取与另一个 .txt 中的某个单词匹配的 .txt 的某些行(如 grep 函数)
- tensorflow - 在 GCP Dataproc 上的 Keras 模型上使用分布式 TensorFlow
- c# - 是否可以将控制台窗口(由 AllocConsole 创建)创建为 GUI 子窗口?如果是这样,怎么做?