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)
热门推荐
小小烟卡,暗藏这些法律风险
太阳系八大行星示意图,一篇看懂他们的顺序、大小、速度、运动轨迹(有视频解说)
Unity在虚拟现实(VR)游戏开发中的优势
七夕:七首最深情的诗词,送给最爱的人
如何分析创业板的市场表现和投资机会?创业板投资有哪些风险和策略?
奥美拉唑长期使用隐患大!了解这5个必要信息,避免副作用风险!
停车难终结者:高精地图 + 惯导 = 无缝导航!
淘宝售后申请时效过了怎么办?售后时效如何查看?
如何应对债务人身份不明:法律途径与策略分析
单分子研究揭示海藻酸钠的疏水特性
数据透视我国消费市场:活力初显暖意渐浓
万有引力定律
明朝开国战争史
教师定向招聘程序的具体流程是什么?
广州中职学校新设18个新专业,聚焦哪些领域?
爱快和OpenWrt的IPv6支持对比分析
华纳游戏大缩减后 重点关注"顶梁柱"IP和"顶级"角色
奥马哈号攻击型核潜艇
海洋中的漂流者——海蜇
流程图制作指南:明确目的与规范符号使用,打造清晰实用的流程图
从《哪吒2》的"重生神器"到你的"健康秘籍"
说说“哪吒”诞出起源与形象变迁
武侠剧推荐!6部超燃武侠剧榜单,剧粉不容错过!
什么是刚需行业?刚需行业的市场需求有什么特点?
“刚需”的真相:被创造出来的五大奴役底层的陷阱
燥形近字组词:轻松掌握易混淆词汇
燥的拼音和组词
现代社会人际关系冷漠原因分析
耳鸣电流声是什么原因导致的
什么是车贷评估?详解车贷评估流程及通过率提升技巧