在同一列中分隔多个变量

2024-05-18 06:52:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个如下所示的数据集:

^{tb1}$

所以变量和它对应的单位在同一列中,但是我希望它们的格式不同。测量不同变量(Mhz、距离)的时间间隔是相同的(每10秒一次),尽管我希望有一个独立于此的选项

我希望我的数据如下所示,以便更容易使用:

^{tb2}$

到目前为止,我已经尝试了使用pd.pitvot_表的各种解决方案,但都没有效果。我已经接近解决方案了,但还没有完全解决。我还尝试了使用.melt或.groupby构建一个全新数据框架的解决方案,但都失败了

df['datetime'] = pd.to_datetime(df['Date'] + " " + df['Time'])
df.pivot_table(index=['datetime'], columns='Variable', values='Value')

Tags: 数据距离dfdatetime间隔格式选项时间
1条回答
网友
1楼 · 发布于 2024-05-18 06:52:51

如果已关闭,则需要联接列,然后将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')

相关问题 更多 >