Python——DataFrame中,中文列的筛选

本文介绍如何使用Python Pandas库进行中文数据筛选,包括精确匹配、模糊匹配、多条件筛选及去重操作,适用于处理大量数据集,如电影作品的好评率分析等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

中文筛选的方法:

  1. 筛选出A列重庆的行:
    data.A==‘重庆’ / data[‘A’]==‘重庆’
  2. 筛选出A列包含重庆的行业(答案中有:重庆/北京和重庆):
    data.A.str
  3. 筛选出A列分别是重庆和成都的行业:
    data.A.isin([‘重庆’,’成都’])
  4. 筛选出在dataframe2的A列中包含dataframe1的B列的所有选项:
    data2.A.isin(data1.index.tolist())
    例如:
    原数据(data_clean):(数据总共超过10w条)
    在这里插入图片描述
    整理出以好评率排序的表格:

data_director = data_clean.groupby(‘导演’).sum()[[‘好评数’,‘评分人数’]]

data_director[‘好评率’]=data_director[‘好评数’]/data_director[‘评分人数’]

data_director_new = data_director.sort_values(by=‘好评率’,ascending=False)

在这里插入图片描述
结合data_clean,查看包含导演王静的作品有哪些?

data_director_wangjing = data_clean[data_clean.导演.str.contains(‘王静’)]
在这里插入图片描述
去掉重复
data_director_wangjing = data_clean[data_clean.导演.str.contains(‘王静’)].drop_duplicates([‘整理后剧名’])
在这里插入图片描述

结合data_clean,查看只有王静作为导演的作品有哪些?

data_director_onlywangjing = data_clean[data_clean.导演==‘王静’]
在这里插入图片描述
去掉重复
data_director_onlywangjing = data_clean[data_clean.导演==‘王静’].drop_duplicates([‘整理后剧名’])
在这里插入图片描述
结合data_clean,查看好评率前20的导演的作品有哪些?

data_directorTOP20 = data_clean[data_clean.导演.isin(data_director_new[:20].index.tolist())]
在这里插入图片描述
去掉重复
data_directorTOP20 = data_clean[data_clean.导演.isin(data_director_new[:20].index.tolist())].drop_duplicates([‘整理后剧名’])
在这里插入图片描述

### 如何在Python中对Pandas DataFrame执行多个过滤条件 当需要基于多个条件来筛选`DataFrame`中的数据时,可以利用逻辑运算符以及布尔索引来实现这一目标。对于包含多种数据类型的二维表格结构——即Pandas `DataFrame`而言,在应用多条件过滤之前,先要理解基本的单个条件过滤方法。 为了实施多重过滤操作,可以通过组合使用逻辑与(`&`)、逻辑或(`|`)等运算符连接不同的条件表达式。下面给出一个多条件过滤的例子: 假设有一个名为`df`的数据框,其中包含了电影的相关信息,比如投票数量(vote_count)和平均评分(average_rating),现在想要获取那些既满足最低票数门槛又具有特定评分范围内的影片表。 ```python import pandas as pd # 假设m为设定的最小投票次数阈值 m = 1000 # 创建一个符合条件的新DataFrame filtered_df = df.loc[(df['vote_count'] >= m) & (df['average_rating'] > 7)] print(filtered_df) ``` 上述代码片段展示了如何通过逻辑与(&)将两个独立的条件`(df['vote_count'] >= m)` 和 `(df['average_rating'] > 7)` 结合起来应用于同一个`.loc[]`属性调用之中[^3]。需要注意的是,在实际编写过程中应当确保每个条件之间加上括号以保证优先级正确无误。 此外,如果希望增加更多维度上的约束,只需继续按照相同的方式添加额外的条件即可。例如,还可以进一步限定只选取某些年份之后发布的电影: ```python year_threshold = 2010 final_filtered_df = filtered_df.loc[df['release_year'] > year_threshold] print(final_filtered_df) ``` 这样就可以得到经过多重标准严格挑选后的最终结果集了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值