Python Pandas pivot_table :意外结果
Python Pandas pivot_table : unexpected results
让我们采用以下 pandas 数据框:
df = pandas.DataFrame({'date':[13,13,13,13],'city':['NY','NY','SF','SF'],'timeOfTheDay':['day','night','day','night'],'count':[2,3,4,5]})
让我来说明一下:
date city timeOfTheDay count
0 13 NY day 2
1 13 SF night 3
2 13 NY day 4
3 13 SF night 5
我一直在尝试以下两种方法:
pivot1 = pd.pivot_table(df,index=['date','city'],columns=['timeOfTheDay'],values=['count'])
pivot2 = df.pivot_table('count',['date','city'],'timeOfTheDay')
预期结果:
day night
date city
13 NY 2 3
SF 4 5
我得到的是(在两种情况下):
timeOfTheDay day night
date city
13 NY 3.0 NaN
SF NaN 4.0
你得到相同的结果吗?
知道我应该如何更改我的命令以获得预期的 pivot_table 结果吗?
我在没有 []
的情况下使用你的解决方案以避免 MutliIndex
:
pivot1 = pd.pivot_table(df,index=['date','city'],columns='timeOfTheDay',values='count')
print (pivot1)
timeOfTheDay day night
date city
13 NY 2 3
SF 4 5
让我们采用以下 pandas 数据框:
df = pandas.DataFrame({'date':[13,13,13,13],'city':['NY','NY','SF','SF'],'timeOfTheDay':['day','night','day','night'],'count':[2,3,4,5]})
让我来说明一下:
date city timeOfTheDay count
0 13 NY day 2
1 13 SF night 3
2 13 NY day 4
3 13 SF night 5
我一直在尝试以下两种方法:
pivot1 = pd.pivot_table(df,index=['date','city'],columns=['timeOfTheDay'],values=['count'])
pivot2 = df.pivot_table('count',['date','city'],'timeOfTheDay')
预期结果:
day night
date city
13 NY 2 3
SF 4 5
我得到的是(在两种情况下):
timeOfTheDay day night
date city
13 NY 3.0 NaN
SF NaN 4.0
你得到相同的结果吗? 知道我应该如何更改我的命令以获得预期的 pivot_table 结果吗?
我在没有 []
的情况下使用你的解决方案以避免 MutliIndex
:
pivot1 = pd.pivot_table(df,index=['date','city'],columns='timeOfTheDay',values='count')
print (pivot1)
timeOfTheDay day night
date city
13 NY 2 3
SF 4 5