pandas数据处理高级系列001-如何用一行代码优雅的删除一行数据中不包含特定字符串的行

简介: pandas数据处理高级系列001-如何用一行代码优雅的删除一行数据中不包含特定字符串的行

方法一实现起来最简单,但是并不优雅,最优雅的是方法三,用了一行代码实现了。

import pandas as pd
data = pd.read_excel("c:/result/xxx.xlsx")
# print(data.head())
# 只保留行的数据当中含有特定字符的行
target_str = "yyy"
# 方法1-笨方法,遍历每一行,每一列,虽然实现了这个要求,但是很不优雅
result_list = []
for index, row in data.iterrows():
    r = False
    for i in row:
        if target_str in str(i):
            r = True
    if r:
        result_list.append(row)
df1 = pd.DataFrame(result_list)
print(df1)
# 方法2- 使用apply函数
df2 = pd.read_excel("c:/result/xxx.xlsx")
df2["c"] = df2.apply(lambda x: x.str.contains(target_str).any(), axis=1)
df2 = df2[df2['c']==True].drop(columns="c")
print(df2)
# 方法3
df3 = pd.read_excel("c:/result/xxx.xlsx")
df3 = df3[df3.apply(lambda x: x.str.contains(target_str).any(), axis=1)]
print(df3)
assert list(df1.index) == list(df2.index) == list(df3.index)
print("测试成功")


目录
相关文章
|
4天前
|
Serverless 数据处理 索引
Pandas中的shift函数:轻松实现数据的前后移动
Pandas中的shift函数:轻松实现数据的前后移动
22 0
|
4天前
|
数据采集 数据可视化 数据挖掘
Pandas函数大合集:数据处理神器一网打尽!
Pandas函数大合集:数据处理神器一网打尽!
14 0
|
4天前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
14 0
|
4天前
|
数据采集 数据挖掘 数据处理
Pandas实践:南京地铁数据处理分析
Pandas实践:南京地铁数据处理分析
11 2
|
4天前
|
数据挖掘 数据处理 Python
​掌握Pandas中的rolling窗口,轻松处理时间序列数据
​掌握Pandas中的rolling窗口,轻松处理时间序列数据
13 1
|
4天前
|
SQL 数据挖掘 索引
Pandas数据筛选的5种技巧
Pandas数据筛选的5种技巧
11 1
|
22天前
|
数据采集 数据挖掘 数据处理
使用Python和Pandas处理CSV数据
使用Python和Pandas处理CSV数据
77 5
|
2天前
|
索引 Python
使用 pandas 对数据进行移动计算
使用 pandas 对数据进行移动计算
7 0
|
4天前
|
数据挖掘 数据处理 Python
Pandas中groupby后的数据排序技巧
Pandas中groupby后的数据排序技巧
11 0
|
4天前
|
数据采集 运维 数据挖掘
Pandas中的Rank用法:数据排序的高效工具
Pandas中的Rank用法:数据排序的高效工具
10 0