我有一个要求,我想尝试计算值并将它们放入数据透视表中。
这是我的数据框,
Cola Colb Apple Rippened Orange Rippened Apple UnRippened Mango UnRippened
我希望输出是这样的,
Rippened UnRippened Apple 1 1 Mango 0 1 Orange 1 0
请分享您的想法。
您可以使用 Pandas 的 pivot_table 或 groupby 方法来实现这个需求。以下是两种实现方法:
pivot_table
groupby
pivot_table 是一种强大的工具,用于创建数据透视表并进行聚合操作。
import pandas as pd # 创建 DataFrame data = {'Cola': ['Apple', 'Orange', 'Apple', 'Mango'], 'Colb': ['Rippened', 'Rippened', 'UnRippened', 'UnRippened']} df = pd.DataFrame(data) # 创建数据透视表 pivot = df.pivot_table(index='Cola', columns='Colb', aggfunc='size', fill_value=0) # 重命名列名(可选) pivot.columns.name = None print(pivot)
index='Cola'
columns='Colb'
aggfunc='size'
fill_value=0
unstack
如果不使用 pivot_table,可以通过 groupby 和 unstack 来实现类似效果。
# 使用 groupby 和 unstack result = df.groupby(['Cola', 'Colb']).size().unstack(fill_value=0) # 重命名列名(可选) result.columns.name = None print(result)
这两种方法都能轻松满足你的需求!