Python中如何将含二元分类数据的DataFrame按分类拆分为两个响应序列
拆分DataFrame为对应分类的响应序列
假设你的DataFrame名为df,以下两种简单直接的方法可以实现需求:
方法一:布尔索引筛选
直接通过布尔条件筛选目标行,再提取response列就能得到对应的Series:
# 提取treatment为'water'的response序列 water_response = df[df['treatment'] == 'water']['response'] # 提取treatment为'beer'的response序列 beer_response = df[df['treatment'] == 'beer']['response']
方法二:groupby分组提取
先按treatment列分组,再用get_group获取对应分组的response序列,这种方式在分类较多时更灵活:
# 按treatment分组并锁定response列 grouped_responses = df.groupby('treatment')['response'] # 获取对应分组的序列 water_response = grouped_responses.get_group('water') beer_response = grouped_responses.get_group('beer')
你可以用type(water_response)验证结果,返回的会是pandas.core.series.Series,完全符合你需要的序列类型。
内容的提问来源于stack exchange,提问作者Adagio
相关产品推荐
相关产品推荐

