【发布时间】:2015-09-15 06:15:13
【问题描述】:
我有一个看起来像这样的 Pandas DataFrame(目前除了内置的行索引之外没有索引,但如果更容易将索引添加到“Person”和“Car”,那也可以):
before = pd.DataFrame({
'Email': ['john@example.com','mary@example.com','jane@example.com','john@example.com','mary@example.com'],
'Person': ['John','Mary','Jane','John','Mary'],
'Car': ['Ford','Toyota','Nissan','Nissan','Ford']
})
我想把它重新塑造成这样:
after = pd.DataFrame({
'Person': ['John','Mary','Jane'],
'Email': ['john@example.com','mary@example.com','jane@example.com'],
'Ford': [True,True,False],
'Nissan': [True,False,True],
'Toyota': [False,True,False]
})
请注意,约翰拥有一辆福特和一辆日产,玛丽拥有一辆福特和一辆丰田,而保罗则坚持使用他值得信赖的日产。
我已经尝试了堆叠多索引 DataFrame、分组、旋转的各种排列——我似乎无法弄清楚如何从“Car”列中获取值并将其转置到一个新列中值“True”,通过他们的名字将人们合并在一起。
【问题讨论】:
标签: python pandas pivot dataframe pivot-table