DataFrame按条件筛选、修改数据:df.loc[]拓展
创作时间:
作者:
@小白创作中心
DataFrame按条件筛选、修改数据:df.loc[]拓展
引用
1
来源
1.
https://www.cnblogs.com/GreatPlanHero/p/18189296
本文主要介绍了Pandas中DataFrame的loc方法的使用,包括按条件筛选数据、修改数据以及处理字符串等高级用法。通过具体的代码示例和详细的解释,帮助读者理解如何使用loc方法进行数据筛选和修改。
创建DataFrame
首先,我们通过字典创建一个学生信息的DataFrame:
import pandas as pd
Student_dict = {'姓名':['张三', '李四', '王五', '赵六'],
'性别':['男', '女', '男', '女'],
'年龄':[20, 21, 19, 18],
'Python成绩':[70, 80, 90, 50],
'评价':['良好', '良好', '良好', '良好'],
'地址':['A小区10幢', 'A小区11幢','B小区10幢','C小区11幢']}
df = pd.DataFrame(data=Student_dict, index=['a','b','c','d'])
使用df.loc[]按条件筛选行数据
基本筛选
通过布尔列表的方式筛选数据:
df.loc[[True, True, False, False]]
单条件筛选
筛选Python成绩大于75的学生:
df.loc[df['Python成绩'] > 75]
多条件筛选
筛选Python成绩大于75且年龄大于20的学生:
df.loc[(df['Python成绩'] > 75) & (df['年龄'] > 20)]
注意事项
在使用多个条件时,需要使用括号将条件括起来,且使用&
表示"与",|
表示"或"。
使用df.loc[]筛选并修改数据
修改单列数据
将Python成绩大于等于90的学生评价修改为"优秀":
df.loc[df['Python成绩'] >= 90, '评价'] = '优秀'
参数说明
- 参数1:筛选条件
- 参数2:要修改的列名
字符串筛选
判断某列是否包含特定字符串
筛选地址包含"A小区"的学生:
df.loc[df['地址'].str.contains('A小区')]
判断某列是否包含特定字符串列表
筛选地址包含"A小区"或"B小区"的学生:
xiaoqu_list = ['A小区', 'B小区']
xiaoqu_str = '|'.join(xiaoqu_list)
df[df['地址'].str.contains(xiaoqu_str)]
根据DataFrame多条件修改多列
假设有一个DataFrame,包含借方数量、贷方数量和数量单位:
借方数量 | 贷方数量 | 数量单位 |
---|---|---|
100 | 1000 | 公斤 |
0.2 | 2 | 吨 |
300 | 3000 | 公斤 |
0.4 | 4 | 吨 |
500 | 5000 | 公斤 |
需求是将单位为"公斤"的数量转换为"吨":
借方数量 | 贷方数量 | 数量单位 |
---|---|---|
0.1 | 1 | 吨 |
0.2 | 2.0 | 吨 |
0.3 | 3 | 吨 |
0.4 | 4.0 | 吨 |
0.5 | 5 | 吨 |
实现代码如下:
def exec_func(df):
if df['标准单位'].strip() == '公斤':
return pd.Series([df['借方数量']/1000, df['贷方数量']/1000, '吨'])
else:
return pd.Series([df['借方数量'], df['贷方数量'], '吨'])
df[['借方数量', '贷方数量', '标准单位']] = df.apply(exec_func, axis=1)
热门推荐
络活喜教你稳住血压,远离心血管风险
王者荣耀典韦纯肉装:红莲斗篷领衔,6件套出装详解
络活喜:高血压管理的长效之选
专家推荐:肺结节患者这样吃更利于康复
CT筛查助力肺癌早发现,高危人群应定期检查
5毫米以下肺结节恶性率不足1%,专家解读如何科学应对
最新研究:心理护理可显著改善肺癌患者预后
冬季流感来袭,头孢呋辛酯胶囊正确用法揭秘
冬季必备:水煮羊肉片的完美做法
重大突破:自然杀伤细胞识别XPO1蛋白质,为癌症治疗开辟新路径
《激光原理与应用》(第四版):一本全面系统的激光技术教材
皮肤发凉:心血管循环不畅是主因,这些方法可缓解
中医专家解析:皮肤发凉是气血不足,5种方法助你调理
四大历史典故的另一面:被忽略的悲剧结局
古代宫女睡觉为何难如登天?侧睡背后的残酷真相,让人痛心!
最新研究:中国城市幽门螺杆菌感染率降至27.08%,但耐药性问题突出
牛肉竟是发物?这些人吃了要小心!
人参皂苷:从传统瑰宝到现代医疗新星
国债收益率创新低,2025年理财该何去何从?
长白山人参:药用价值与种植秘籍
西班牙绿卡申请条件大揭秘:买房or不买房?
西班牙非盈利签证再添新规,你准备好了吗?
鲜嫩羊蝎子的四种美味吃法,总有一款适合你
黄姚古镇古戏台:一座见证历史的文化地标
黄姚古镇:龙爪榕下的千年传奇
黄姚古镇:逃离都市喧嚣,穿越千年的静谧之旅
新加坡开斋节:多元文化的节日庆典
从诗词到园林,菊花在中国传统文化中的多重价值
10种安全茶饮推荐,孕早期这样喝最健康
摩托车冬眠指南:4大步骤让你的爱车安全过冬