我有一个数据集,看起来如下:
<表类>
日期时间变量 单位价值 tbody><<tr>05-02-2021 10:00:00 频率 Mhz 10 05-02-2021 10:00:10 频率 Mhz 13 05-02-2021 10:00:20 频率 Mhz 12 05-02-2021 10:00:30 频率 Mhz 15 05-02-2021 10:00:40 频率 Mhz 11 05-02-2021 10:00:50 频率 Mhz 13 05-02-2021 10:01:00 频率 Mhz 11 05-02-2021 10:00:00 距离 m 102 05-02-2021 10:00:20 距离 m 107 05-02-2021 10:00:30 距离 m 110 05-02-2021 10:00:40 距离 m 108 05-02-2021 10:00:50 距离 m 104 05-02-2021 10:01:00 距离 m 107 等等 等 等 等 表类>
您很接近,需要连接列,然后将Value
转换为数字,如果不匹配则返回nan:
df['datetime'] = pd.to_datetime(df['Date'] + " " + df['Time'])
df['Variable'] = df['Variable'] + "-" + df['Unit']
df['Value'] = pd.to_numeric(df['Value'], errors='coerce')
df.pivot(index='datetime', columns='Variable', values='Value')
如果datetime
和Variable
可能重复使用:
df.pivot_table(index='datetime', columns='Variable', values='Value')