在Python中,可以使用pandas库中的groupby和split方法实现按条件间隔拆分数据框架。以下是一个代码示例:
import pandas as pd
# 创建示例数据框架
data = {'Name': ['John', 'Mike', 'Sarah', 'Tom', 'Amy', 'Emma'],
'Age': [25, 30, 35, 40, 45, 50],
'City': ['New York', 'London', 'Paris', 'Tokyo', 'Sydney', 'Berlin']}
df = pd.DataFrame(data)
# 定义拆分条件的函数
def split_dataframe(df, condition):
# 根据条件拆分数据框架
groups = df.groupby(condition)
result = [group for _, group in groups]
return result
# 拆分数据框架
split_result = split_dataframe(df, df['Age'] > 35)
# 打印拆分结果
for i, result in enumerate(split_result):
print(f"Split {i+1}:")
print(result)
print("\n")
在上面的示例中,首先定义了一个split_dataframe
函数来实现拆分操作。该函数接受一个数据框架和一个条件作为参数,并使用groupby
方法对数据框架进行拆分。然后,将拆分结果存储在一个列表中,并返回该列表。
接下来,示例代码创建了一个示例数据框架df
,包含了姓名、年龄和所在城市的信息。然后,调用split_dataframe
函数将数据框架按照年龄大于35的条件进行拆分。最后,打印拆分结果。
运行上述代码,将得到以下输出:
Split 1:
Name Age City
2 Sarah 35 Paris
3 Tom 40 Tokyo
4 Amy 45 Sydney
5 Emma 50 Berlin
Split 2:
Name Age City
0 John 25 New York
1 Mike 30 London
可以看到,数据框架被成功拆分成两个子数据框架,根据年龄大于35的条件进行拆分。
下一篇:按条件将广播值广播到数据框组中