目前我正在处理从模拟器获取的数据。这些数据被放入Pandas的DataFrame中。以下是输出示例:
1. DateTime, Sensor, Value 2. 1/13/2021 12:56:10, XTDSX5, 16.55 3. 1/13/2021 12:56:10, XTDSX6, 55.55 4. 1/13/2021 12:56:10, XTDSX9p, -15.16 5. 1/13/2021 12:56:20 PM, XTDSX5, 15.20 6. 1/13/2021 12:56:20 PM, XTDSX9p, -15.66 7. 1/13/2021 12:56:30 PM, XTDSX6, 55.56等。
现在我想将这些数据转换为以下格式:
1. DateTime XTDSX5, XTDSX6, XTDSX9p 2. 1/13/2021 12:56:10, 16.55, 55.55,-15.16 3. 1/13/2021 12:56:20, 15.20, NaN, -15.66 4. 1/13/2021 12:56:30, NaN, 55.56, NaN
这是为了使其适合人工智能分类。有人知道如何最好地做到这一点吗?
回答:
pivoted_df = pd.pivot_table(data=df, index="DateTime", columns="Sensor", )pivoted_df.reset_index(inplace=True)
基本上,pd.pivot_table
将创建一个新的DataFrame,其索引将是原始DataFrame df
中 DateTime
列的唯一元素,其列将是原始 df
中 Sensor
列的唯一元素。由于 df
中只有另一个列,因此无需指定 pd.pivot_table
的 value
参数。由于答案需要一个简单的索引,我随后使用 reset_index
,它将 pivoted_df
的 DateTime
索引保留为一个列。