gpt4 book ai didi

python - 在python中将列转换为行

转载 作者:行者123 更新时间:2023-12-04 07:14:16 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Pandas Melt Function

(2 个回答)



pandas convert some columns into rows

(5 个回答)


7 天前关闭。




我有一个这样的数据框,

df1=
time asset_id sensor_01 sensor_02
0 2019-08-01 120 23 54
1 2019-08-02 125 45 38
2 2019-08-03 120 25 49
由于传感器的数量是可变的,我决定将它们写成行,例如,
df2=
time asset_id sensor_ID sensor_value
0 2019-08-01 120 sensor_01 23
1 2019-08-02 125 sensor_01 45
2 2019-08-03 120 sensor_01 25
3 2019-08-01 120 sensor_02 54
4 2019-08-02 125 sensor_02 38
5 2019-08-03 120 sensor_02 49
我想知道是否有任何方便的方法可以将 df1 转换为 df2?
附录:
为方便起见,df1 代码,
import pandas as pd
dictionary = {'time': ['2019-08-01', '2019-08-02', '2019-08-03'],
'asset_id': ['120', '125', '120'],
'sensor_01': [23, 45, 25],
'sensor_02': [54, 38, 49]

}
df1 = pd.DataFrame(dictionary)

最佳答案

使用 pandas.melt :

pd.melt(df1,
id_vars=['time', 'asset_id'], # variables to keep as columns
var_name='sensor_ID', # column name for the variable
value_name='sensor_value' # column name for the values
)
输出:
         time asset_id  sensor_ID  sensor_value
0 2019-08-01 120 sensor_01 23
1 2019-08-02 125 sensor_01 45
2 2019-08-03 120 sensor_01 25
3 2019-08-01 120 sensor_02 54
4 2019-08-02 125 sensor_02 38
5 2019-08-03 120 sensor_02 49

关于python - 在python中将列转换为行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68881498/

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