Python Pandas 将 Dataframe 列向下移动到行中(重置列上的索引?)

标签 python pandas dataframe python-3.4

您将如何删除/重置列轴以向下移动数据,从而导致列标题类似于 [0, 1, 2, 3, 4, 5] 然后将列标题设置为df[5] 值?我一直重置行轴的索引,但从来不需要对列执行此操作。

df = pd.DataFrame({'very_low': ['High', 'Low', 'Middle', 'Low'], '0.2': [0.10000000000000001, 0.050000000000000003, 0.14999999999999999, 0.080000000000000002], '0.1': [0.080000000000000002, 0.059999999999999998, 0.10000000000000001, 0.080000000000000002], '0.4': [0.90000000000000002, 0.33000000000000002, 0.29999999999999999, 0.23999999999999999], '0': [0.080000000000000002, 0.059999999999999998, 0.10000000000000001, 0.080000000000000002], '0.3': [0.23999999999999999, 0.25, 0.65000000000000002, 0.97999999999999998]})

      0   0.1   0.2   0.3   0.4 very_low
0  0.08  0.08  0.10  0.24  0.90     High
1  0.06  0.06  0.05  0.25  0.33      Low
2  0.10  0.10  0.15  0.65  0.30   Middle
3  0.08  0.08  0.08  0.98  0.24      Low

最佳答案

如果我没理解错的话,是这样的吗?

df2 = pd.concat([pd.DataFrame(df.columns).T, pd.DataFrame(df.values)], 
                ignore_index=True).iloc[:, :-1]

df2.columns = [df.columns[-1]] + df.iloc[:, -1].tolist()

>>> df2
  very_low  High   Low Middle   Low
0        0   0.1   0.2    0.3   0.4
1     0.08  0.08   0.1   0.24   0.9
2     0.06  0.06  0.05   0.25  0.33
3      0.1   0.1  0.15   0.65   0.3
4     0.08  0.08  0.08   0.98  0.24

关于Python Pandas 将 Dataframe 列向下移动到行中(重置列上的索引?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35785547/

相关文章:

python-3.x - 动态创建文件夹并将 csv 文件写入该文件夹

python - 如何使用一种方法通过某个值更新一个对象的不同集合?

Python 3.6 没有名为 pip 的模块

python - 从 Postgres 加载 Flask 模型

python - Pandas .at 与 .loc

python - 如何获取pandas数据框中所有最小值的索引?

python - 使用简单的自定义 HTTP 客户端和服务器 PUT 请求阻塞时间过长

python - 删除 Pandas 方差低的列

python - 带 Groupby 的数据透视表 - Pandas

python - 像访问常规列一样访问 Pandas 索引