熊猫数据帧:将值分配给多个单独的元素

我有以下数据帧:


           Well_ID  BOPD

Date                    

2020-01-01     101     1

2020-01-02     102     2

2020-01-03     102     3

2020-01-04     101     1

2020-01-05     103     2

2020-01-03     101     3

我想将其重新格式化为:


            101  102  103

2020-01-01  1.0  NaN  NaN

2020-01-02  NaN  2.0  NaN

2020-01-03  3.0  3.0  NaN

2020-01-04  1.0  NaN  NaN

2020-01-05  NaN  NaN  2.0

2020-01-06  NaN  NaN  NaN

2020-01-07  NaN  NaN  NaN

2020-01-08  NaN  NaN  NaN

2020-01-09  NaN  NaN  NaN

我可以使用 for 循环获得:


for well, date, bopd in zip(wellTest['Well_ID'].tolist(),wellTest.index.to_list(),wellTest['BOPD'].to_list()):

    wellTestBr.loc[date, well] = bopd

真的认为应该有更好的方法。


守候你守候我
浏览 141回答 2
2回答

临摹微笑

您正在寻找 :pivotdf.reset_index().pivot('Date', 'Well_ID', 'BOPD')Well_ID     101  102  103Date2020-01-01  1.0  NaN  NaN2020-01-02  NaN  2.0  NaN2020-01-03  3.0  3.0  NaN2020-01-04  1.0  NaN  NaN2020-01-05  NaN  NaN  2.0

慕的地6264312

您可以并且:set_indexunstackdf.set_index(['Well_ID'], append=True)['BOPD'].unstack()输出;Well_ID     101  102  103Date                     2020-01-01  1.0  NaN  NaN2020-01-02  NaN  2.0  NaN2020-01-03  3.0  3.0  NaN2020-01-04  1.0  NaN  NaN2020-01-05  NaN  NaN  2.0
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python