首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Pandas |如何有效过滤列

Pandas |如何有效过滤列
EN

Stack Overflow用户
提问于 2020-05-31 18:40:50
回答 2查看 18关注 0票数 0

我正在寻找一种快速有效地过滤数据框列并删除不满足条件的值的方法。

假设我有一个数字为4、5和10的列,我想对该列进行过滤,并将大于7的任何数字替换为0。我该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2020-05-31 19:43:29

有很多选择。一种可能性是如果然后..。是np.where

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd
import numpy as np

df = pd.DataFrame({'x': [1, 200, 4, 5, 6, 11],
                'y': [4, 5, 10, 24, 4 , 3]})
df['y'] = np.where(df['y'] > 7, 0, df['y'])
票数 0
EN

Stack Overflow用户

发布于 2020-05-31 19:48:33

你说的是两件不同的事情--过滤和值替换。它们都有用途,并且在本质上是相似的,但对于过滤,我将指出this great answer

假设我们的数据框名为df,如下所示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   A   B
1  4   10
2  4   2
3  10   1
4  5   9
5  10  3

A符合您关于只有4、5、10值的列的语句。如果您想用0替换大于7的数字,可以这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df["A"] = [0 if x > 7 else x for x in df["A"]]

如果你通读右边,它清楚地解释了它在做什么。它有助于包括括号来分隔“做什么”和“你正在做什么”:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df["A"] = [(0 if x > 7 else x) for x in df["A"]]

如果您想对多个列进行操作,那么利用zip可以轻松地完成此操作。例如,如果需要列AB的总和,则:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df["sum"] = [x[0] + x[1] for x in zip(df["A"], df["B"])]

覆盖data时要小心-这会删除信息。将转换后的数据放在其他列中是一种很好的做法,这样您就可以在某些东西不可避免地变得不可靠时进行追溯。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62120883

复制
相关文章
Pandas | 如何新增数据列?
在数据分析时,原始数据往往不能满足我们的需求,经常需要按照一定条件创建新的数据列或者修改原有数据列,然后进行后续分析。
生信real
2022/12/20
2.1K0
pandas’_pandas 删除列
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/02
2.7K0
pandas’_pandas 删除列
colrm命令 – 过滤指定列
colrm命令的英文全称是“column remove”,即意为删除列,功能是从标准输入设备读取数据,转而输出到标准输出设备,如果不加任何参数,则该指令不会过滤任何一列。
用户4988085
2021/07/24
7780
pandas基础:重命名pandas数据框架列
重命名pandas数据框架列有很多原因。例如,可能希望列名更具描述性,或者可能希望缩短名称。本文将介绍如何更改数据框架中的名称。
fanjy
2022/11/16
1.9K0
pandas基础:重命名pandas数据框架列
如何让pandas根据指定列的指进行partition
UTF-8的问题暂且不谈,现在需要将其作为csv文件读入内存中,并且按照title分成不同的datehour->views表,并按照datehour排序。将2015~2020的数据按照同样的操作进行处理,并将它们拼接成一张大表,最后将每一个title对应的表导出到csv,title写入到index.txt中。
千灵域
2022/06/17
2.8K0
Pandas 查找,丢弃列值唯一的列
数据清洗很重要,本文演示如何使用 Python Pandas 来查找和丢弃 DataFrame 中列值唯一的列,简言之,就是某列的数值除空值外,全都是一样的,比如:全0,全1,或者全部都是一样的字符串如:已支付,已支付,已支付…
萝 卜
2022/05/12
5.7K0
Pandas 查找,丢弃列值唯一的列
Pandas基础:在Pandas数据框架中移动列
有时候,我们需要在pandas数据框架内移动一列,shift()方法提供了一种方便的方法来实现。
fanjy
2022/06/04
3.2K0
Pandas基础:在Pandas数据框架中移动列
Pandas基础:列方向分组变形
但是我发现大部分人在做这个题的时候,代码写的异常复杂。所以我建议你也不要直接看我的代码,而是先思考一下,你会怎么解决这个问题。
朱小五
2021/02/22
1.4K0
Pandas基础:列方向分组变形
一日一技:Pandas 如何对列排序?
我们在工作中,经常用到 Excel,有时候,我们会使用 Pandas 生成 Excel。但生成的 Excel 列的顺序可能跟我们想要的不一样。
青南
2021/10/19
1.6K0
一日一技:Pandas 如何对列排序?
pandas操作一列数据
def tt(x): if x.name == "distribution": return [el[0:10] for el in x.values] else: return x test1 = test.apply(tt)
用户1733462
2018/12/05
1.9K0
pandas如何处理一列中有汉字也有数值
【问题】有一个表中一列的数据有汉字也有数值如下图 处理一:只有一列,我们可以把这一列的的汉字换成数据 处理二:如果一行全部是汉字我们可以把这一行全部删除 处理一:代码如下 import numpy as np def is_number(s): try: float(s) return True except ValueError: pass try: import unicodedata
哆哆Excel
2022/10/31
6080
pandas dataframe 新增单列和多列
dataframe assign方法,返回一个新对象(副本),不影响旧dataframe对象
lovelife110
2021/01/14
4.3K0
Python fillna_pandas fillna 指定列
df.ix[df[‘Type’] == ‘Dog’, ‘Killed’] = df.ix[df[‘Type’] == ‘Dog’, ‘Killed’].fillna(2.25)
全栈程序员站长
2022/09/22
1.7K0
pandas列合并为一行
将dataframe利用pandas列合并为一行,类似于sql的GROUP_CONCAT函数。例如如下dataframe
机器学习和大数据挖掘
2019/07/01
2K0
Pandas处理csv表格的时候如何忽略某一列内容?
前几天在Python白银交流群有个叫【笑】的粉丝问了一个Pandas处理的问题,如下图所示。
前端皮皮
2022/08/17
2.2K0
Pandas处理csv表格的时候如何忽略某一列内容?
python fillna_pandas增加一列
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170034.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
1.4K0
python fillna_pandas增加一列
pandas excel动态条件过滤并保存结果
一、概述 由于业务需求,需要对某个excel数据做查询。其中: excel文件名,不固定 sheet数量,不固定 过滤条件,不固定 二、分析需求 针对以上3个条件,都是不固定的。因此需要设计一个配置文件,内容如下: # 查询条件,多个条件,用逗号分隔 where_dict = {     # excel文件名     "file_name": "456.xlsx",     # 过滤条件     "rules": [         {             "sheet_name": "Sheet1",
py3study
2020/12/28
1.7K0
pandas excel动态条件过滤并保存结果
python-pandas读取excel删除列后,写入
import io import pandas as pd diyun = pd.read_excel(io = '文件路径.xlsx') diyun = diyun.drop(columns = ['Unnamed: 0','Unnamed: 1','Unnamed: 2','Unnamed: 25']) diyun.to_excel('存储位置.xlsx') print(diyun) 重点在倒数第二行的 to_excel 我是自学python 就是这么一个简单的问题,我在网上找了很多,却没有找到答案。
用户9418378
2022/01/26
3.3K0
点击加载更多

相似问题

过滤多列Pandas

27

Pandas:如何根据频率有效地过滤数据

10

Pandas按列值过滤

113

Pandas -根据值过滤列

213

如何按列值过滤multiIndexed pandas DataFrame

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文