小代码是...
import pandas as pd
#INPUT FILE INFORMATION
path = 'C:\Users\BDomitz\Desktop\Python\Stack_Example.xlsx'
sheet = "Sheet1"
#READ FILE
dataframe = pd.io.excel.read_excel(path, sheet)
我当前数据帧的输出...
date animals quantity
0 2015-02-10 dogs 1
1 2015-02-11 cats 2
2 2015-02-11 pigs 5
我希望它看起来像什么......
date animals quantity dogs cats pigs
0 2015-02-10 dogs 1 1 0 0
1 2015-02-11 cats, pigs 2 0 2 5
非常感谢您的帮助。
最佳答案
从您的数据框开始:
In [9]: df
Out[9]:
date animals quantity
0 2015-02-10 dogs 1
1 2015-02-11 cats 2
2 2015-02-11 pigs 5
您可以使用pivot
方法指定应将哪些列用作索引、列名称和值:
In [10]: df.pivot(index='date', columns='animals', values='quantity').fillna(0)
Out[10]:
animals cats dogs pigs
date
2015-02-10 0 1 0
2015-02-11 2 0 5
除了“动物”和“数量”列之外,这将为您提供所需的输出。他们需要在那里吗?
关于Python - 如何根据现有列中具有相应值的唯一值在数据框中创建新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28436975/