当前位置: 首页 > 知识库问答 >
问题:

将paython中的列转换为行[重复]

谭繁
2023-03-14

我有一个这样的数据框,

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)

共有2个答案

臧彭亮
2023-03-14
pd.melt(df, id_vars=['time', 'asset_id'], value_vars=['sensor_01', 'sensor_02'], var_name='sensor_ID', value_name='sensor_value')
蔡鹏程
2023-03-14

使用熊猫。融化

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数据帧: 我想:

  • 我尝试在中使用,但它将聚合函数作为参数,我不想提供。 我怎样才能做到这一点。

  • 我是数据科学的初学者,我正在尝试使用Pandas来旋转此数据框架: 所以它变成这样:(标签应该变成列,文件路径变成行。) “标签”列是一组或一类文件路径。我想把它转换成这样一种方式,它适合这个函数:tf。Keras.preprocessing.image.flow_from_dataframe 提前感谢所有帮助我的人。

  • 我有以下数据帧: 我想这样。 堆叠/卸载似乎不工作。

  • 我有一张如下的桌子: 如何将其转换为:

  • 问题内容: 考虑下面的示例,其中有一个包含人员记录的 Person 表和一个包含链接到人员的可选属性的 PersonAttribute 表: Table: Person Table PersonAttribute 我将如何编写一个查询,使所有具有属性的人都像列一样返回?我需要的结果集是: 因此,从本质上讲,我需要编写一个查询,该查询将获取所有带有所有唯一属性键的人记录,这些键被转换为具有每个人记录