要按照pandas的cut()方法对pandas列进行分组行过滤,可以按照以下步骤进行操作:
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John', 'Andy', 'Sam', 'Tim'],
'Age': [20, 25, 30, 35, 40, 45]}
df = pd.DataFrame(data)
df['Age Group'] = pd.cut(df['Age'], bins=[0, 30, 40, float('inf')], labels=['<=30', '30-40', '>=40'])
这里使用了cut()方法将年龄分成了三个区间:0到30岁为'<=30',30到40岁为'30-40',40岁以上为'>=40'。
filtered_df = df[df['Age Group'] == '30-40']
这里使用了布尔索引,根据'Age Group'列的值为'30-40'来过滤数据。
完整的示例代码如下:
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John', 'Andy', 'Sam', 'Tim'],
'Age': [20, 25, 30, 35, 40, 45]}
df = pd.DataFrame(data)
df['Age Group'] = pd.cut(df['Age'], bins=[0, 30, 40, float('inf')], labels=['<=30', '30-40', '>=40'])
filtered_df = df[df['Age Group'] == '30-40']
print(filtered_df)
输出结果为:
Name Age Age Group
3 Andy 35 30-40
这样就完成了按照pandas的cut()方法对pandas列进行分组行过滤的操作。