我有以下Dataframe:
import pandas as pd
import numpy as np
np.random.seed(0)
daytime = pd.date_range('2015-02-24', periods=6, freq='d')
df = pd.DataFrame({'DATE': ['2015-02-24', '2015-02-24', '2015-02-25', '2015-02-25', '2015-02-26', '2015-02-26'],
'HappyCustomer': ['True', 'False','True', 'False','True', 'False'],
'HappyCustomerCount': [2, 4,1, 6, 2, 3] })
df.set_index('DATE', inplace=True)
df.head(6)
HappyCustomer HappyCustomerCount
DATE
2015-02-24 True 2
2015-02-24 False 4
2015-02-25 True 1
2015-02-25 False 6
2015-02-26 True 2
2015-02-26 False 3
我认为专栏 HappyCustomer
是多余的,因为它总是 'True'
以及 'False'
. 我想把这个专栏改成这样:
解决方案:
HappyCustomerCount_True HappyCustomerCount_False
DATE
2015-02-24 2 4
2015-02-25 1 6
2015-02-26 2 3
可选:
在最好的情况下,我可以用(sql相关的)函数来完成这个转换,比如 groupby
因为我以后在sql数据库中也要做同样的工作。
我该怎么做?
1条答案
按热度按时间uz75evzq1#
使用,
DataFrame.set_index
随着DataFrame.unstack
要重塑Dataframe,请使用map
与join
压平MultiIndex
柱:结果: