【发布时间】:2020-10-25 12:18:45
【问题描述】:
我有以下熊猫数据框:
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
可选:
在最好的情况下,我可以使用groupby 等(与 SQL 相关的)函数进行此转换,因为稍后我必须在 SQL 数据库中执行相同的工作。
我该怎么做?
【问题讨论】:
标签: python sql pandas dataframe group-by