我在下面的示例中有一个时间序列数据框:
Date Ticker Price
2018-01-01 AAA 100
2018-01-01 BBB 200
2018-01-01 CCC 1000
2018-01-01 DDD 3000
2018-01-02 BBB 201
2018-01-02 CCC 1001
我想获取“Ticker”列的Unique值,并将唯一的代码转换为dataframe列。我的数据框应该如下所示
Date AAA BBB CCC DDD
2018-01-01 100 200 1000 3000
2018-01-02 NaN 201 1001 NaN
我对Python有点新,但还没找到解决问题的方法。任何人都可以建议一个有效的解决方案,因为我一次处理大约1M这样的行,并且需要一个工作得更快的解决方案。 Thanx in adv。
答案 0 :(得分:1)
您可以使用pivot_table
:
df = pd.pivot_table(df, values = 'Price', index='Date', columns = 'Ticker').reset_index().rename_axis(None, axis=1)
数据帧:
Date Ticker Price
0 2018-01-01 AAA 100
1 2018-01-01 BBB 200
2 2018-01-01 CCC 1000
3 2018-01-01 DDD 3000
4 2018-01-02 BBB 201
5 2018-01-02 CCC 1001
输出:
Date AAA BBB CCC DDD
0 2018-01-01 100.0 200.0 1000.0 3000.0
1 2018-01-02 NaN 201.0 1001.0 NaN