要在pandas数据框中对每个bin进行枢轴操作,可以使用pandas的groupby和agg函数来实现。下面是一个示例代码:
import pandas as pd
import numpy as np
# 创建示例数据框
df = pd.DataFrame({'Value': np.random.randint(0, 10, 100),
'Category': np.random.choice(['A', 'B', 'C'], 100)})
# 定义bin的范围和标签
bins = [0, 3, 6, 10]
labels = ['Low', 'Medium', 'High']
# 将数据框中的值根据bins和labels进行分组
df['Bin'] = pd.cut(df['Value'], bins=bins, labels=labels)
# 对分组后的数据框进行枢轴操作
pivot_table = df.groupby(['Category', 'Bin']).size().unstack().fillna(0)
print(pivot_table)
输出结果类似于:
Bin Low Medium High
Category
A 10 15 8
B 12 7 13
C 9 14 12
这个示例中,我们首先创建了一个包含随机值和类别的数据框。然后,我们使用pd.cut
函数将数据框中的值根据给定的bins和labels进行分组,并将结果存储在一个新的列"Bin"中。
接下来,我们使用groupby
函数和size
方法对分组后的数据框进行统计,得到每个bin在每个类别下的计数。最后,我们使用unstack
方法将结果重塑为一个枢轴表,并使用fillna
方法将缺失值填充为0。