如何从另一行获取值以放置在数据帧的当前行中?

2024-03-28 19:53:36 发布

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

考虑下面的数据文件:

df_test = pd.DataFrame(
    [
    ['TAVG',51,'2020-01-01'],
    ['TMAX',59,'2020-01-01'],
    ['TMIN',46,'2020-01-01'],
    ['TAVG',53,'2020-01-02'],
    ['TMAX',61,'2020-01-02'],
    ['TMIN',45,'2020-01-02'],
    ['TAVG',50,'2020-01-03'],
    ['TMAX',60,'2020-01-03'],
    ['TMIN',40,'2020-01-03']
    ],
    columns = ['datatype', 'value', 'date']
)

enter image description here

我希望将每个日期的值组合在一行中,如下所示:

enter image description here

我使用loc进行了各种尝试,但都失败了


2条回答

试试pivot

out = df_test.pivot('date','datatype','value').reset_index()
Out[88]: 
datatype    TAVG  TMAX  TMIN
date                        
2020-01-01    51    59    46
2020-01-02    53    61    45
2020-01-03    50    60    40
df_test.set_index(['date','datatype'])['value'].unstack().reset_index()

d

atatype        date  TAVG  TMAX  TMIN
0         2020-01-01    51    59    46
1         2020-01-02    53    61    45
2         2020-01-03    50    60    40

相关问题 更多 >