要按时间戳将DataFrame从长格式转换为宽格式,可以使用pivot
函数或unstack
函数。下面是两种方法的代码示例:
pivot
函数:import pandas as pd
# 创建示例数据
data = {'timestamp': ['2021-01-01', '2021-01-01', '2021-01-02', '2021-01-02'],
'variable': ['A', 'B', 'A', 'B'],
'value': [1, 2, 3, 4]}
df = pd.DataFrame(data)
# 使用pivot函数进行转换
df_wide = df.pivot(index='timestamp', columns='variable', values='value')
print(df_wide)
输出结果:
variable A B
timestamp
2021-01-01 1.0 2.0
2021-01-02 3.0 4.0
unstack
函数:import pandas as pd
# 创建示例数据
data = {'timestamp': ['2021-01-01', '2021-01-01', '2021-01-02', '2021-01-02'],
'variable': ['A', 'B', 'A', 'B'],
'value': [1, 2, 3, 4]}
df = pd.DataFrame(data)
# 设置时间戳为索引
df.set_index(['timestamp', 'variable'], inplace=True)
# 使用unstack函数进行转换
df_wide = df['value'].unstack()
print(df_wide)
输出结果:
variable A B
timestamp
2021-01-01 1.0 2.0
2021-01-02 3.0 4.0
以上两种方法都可以将长格式的DataFrame转换为宽格式,具体使用哪种方法取决于你的个人偏好和数据结构。
上一篇:按时间戳获取JPA条目