首页 > 解决方案 > 在 Python 中更改 DataFrame 方向

问题描述

我正在尝试更改我的 dataFrame 出现的方式,从 7x2 我希望它变成 2x7。让我在下面展示一个示例:

                 0                       1
0              time                  3362.0
1              type  vehicle enters traffic
2            person          80520_1_Person
3              link                   97101
4           vehicle          80520_1_Person
5       networkMode                     car
6  relativePosition                     1.0

我实际上想结束:时间,类型,人,链接,车辆,网络模式,相对位置成为我的列名和所有条目分别转到相应的列位置。

             time       type           person        link        vehicle    netMode   relatPos
0            3362.0  vehicle enters  80520_1_Person  97101    80520_1_Person   car       1.0
1            3362.0  vehicle enters  80520_1_Person  97101    80520_1_Person   car       1.0
2            3362.0  vehicle enters  80520_1_Person  97101    80520_1_Person   car       1.0
3            3362.0  vehicle enters  80520_1_Person  97101    80520_1_Person   car       1.0
...
N            3362.0  vehicle enters  80520_1_Person  97101    80520_1_Person   car       1.0


我正在尝试使用 pivot() 但显然我在这里遗漏了一些东西,因为我无法让它工作。

提前致谢

标签: pythonpython-3.xpandasdataframepivot

解决方案


您可能还np.repeat需要df.set_index(0).T

N = 5
pd.DataFrame(np.repeat(df.set_index(0).T.values, N, axis = 0), columns = df[0])

印刷:

      time                   type   person          link    vehicle   networkMode   relativePosition
0   3362.0  vehicle enters traffic  80520_1_Person  97101   80520_1_Person  car 1.0
1   3362.0  vehicle enters traffic  80520_1_Person  97101   80520_1_Person  car 1.0
2   3362.0  vehicle enters traffic  80520_1_Person  97101   80520_1_Person  car 1.0
3   3362.0  vehicle enters traffic  80520_1_Person  97101   80520_1_Person  car 1.0
4   3362.0  vehicle enters traffic  80520_1_Person  97101   80520_1_Person  car 1.0

推荐阅读