gpt4 book ai didi

python - 修改矩阵 df 格式

转载 作者:行者123 更新时间:2023-11-28 21:40:21 25 4
gpt4 key购买 nike

有一个 df 为:

    14       15         16
14 10.1166 18.2331 65.0185
15 18.2331 6.664 57.5195
16 65.3499 57.851 20.9907

有什么不同的更有效的方法来修改 df 看起来像

   a   b   c
0 14 14 10.1166
1 14 15 18.2331
2 14 16 65.0185
3 15 14 18.2331
4 15 15 6.664
etc.

我写了这段代码,但我不喜欢我需要为它使用循环这一事实。

for row in tt.index:
row_vals = tt[tt.index==row]
col_vals = row_vals.T
col_vals['from_zone'] = row
col_vals['to_zone'] = tt.index
col_vals['travel_time'] = col_vals[row].astype('int')
col_vals = col_vals.drop(row, axis=1)
travel_data = pd.concat([travel_data,col_vals])

最佳答案

In [58]: df.stack().reset_index().rename(columns={'level_0':'a','level_1':'b',0:'c'})
Out[58]:
a b c
0 14 14 10.1166
1 14 15 18.2331
2 14 16 65.0185
3 15 14 18.2331
4 15 15 6.6640
5 15 16 57.5195
6 16 14 65.3499
7 16 15 57.8510
8 16 16 20.9907

一步一步:

In [59]: df.stack()
Out[59]:
14 14 10.1166
15 18.2331
16 65.0185
15 14 18.2331
15 6.6640
16 57.5195
16 14 65.3499
15 57.8510
16 20.9907
dtype: float64

In [60]: df.stack().reset_index()
Out[60]:
level_0 level_1 0
0 14 14 10.1166
1 14 15 18.2331
2 14 16 65.0185
3 15 14 18.2331
4 15 15 6.6640
5 15 16 57.5195
6 16 14 65.3499
7 16 15 57.8510
8 16 16 20.9907

关于python - 修改矩阵 df 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45679354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com