楼主: xlbdh2
812 3

[网帖精选] 实现多条件筛选 [推广有奖]

  • 3关注
  • 0粉丝

硕士生

15%

还不是VIP/贵宾

-

威望
0
论坛币
36 个
通用积分
3.4118
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1552 点
帖子
91
精华
0
在线时间
73 小时
注册时间
2007-12-15
最后登录
2022-8-7

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
原始数据如下(可直接copy到excel或txt)
series        zone        num3        num-3        num2        num-2
0        19        0        78        0        12
1        19        6        27        0        30
2        19        0        0        0        10
3        19        0        33        0        30
4        19        0        27        3        0
5        19        0        30        0        9
6        19        0        0        3        7
7        19        3        6        21        30
8        19        3        6        21        33
9        19        0        42        0        3
10        19        12        48        0        24
11        19        0        48        0        3
12        20        0        0        13        0
13        20        0        0        0        3
14        20        0        0        0        0
15        20        0        0        0        0
16        20        0        63        0        0
17        20        0        66        0        0
18        20        6        69        6        0
19        20        3        72        12        3
20        20        0        75        0        3




期望结果


需求结果解释:
1.新建字段rise与drop
2.若满足字段num3>0或num2>=12等任意一个条件,则rise返回1,否则返回空格;
3.若满足字段num-3>0或num-2>=12等任意一个条件,则drop返回1,否则返回空格;
用python实现。

谢谢各位高手、高手、高高手!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:条件筛选 多条件 python Series Serie

回帖推荐

popodan 发表于3楼  查看完整内容

import pandas as pd df = pd.read_csv(r'D:\rise_drop.txt', sep=r'\t', engine='python') df.loc[(df['num3']>0) | (df['num2']>=12),'rise'] = '1' df.loc[(df['num-3']>0) | (df['num-2']>=12),'drop'] = '1' 如果你是把结果转成excel或者csv导出,这样就可以了。 如果你是要一个dataframe,那再加上 df['rise'] = df['rise'].fillna(' ') df['drop'] = df['drop'].fillna(' ') 最后结果就是你要这个
沙发
xlbdh2 发表于 2021-9-5 00:31:21 |只看作者 |坛友微信交流群
不好意思,漏掉期望结果,上图,上图

QQ图片20210904005643.png (10.99 KB)

QQ图片20210904005643.png

使用道具

藤椅
popodan 在职认证  发表于 2021-9-6 10:21:33 |只看作者 |坛友微信交流群
import pandas as pd
df = pd.read_csv(r'D:\rise_drop.txt', sep=r'\t', engine='python')
df.loc[(df['num3']>0) | (df['num2']>=12),'rise'] = '1'
df.loc[(df['num-3']>0) | (df['num-2']>=12),'drop'] = '1'

如果你是把结果转成excel或者csv导出,这样就可以了。
如果你是要一个dataframe,那再加上
df['rise'] = df['rise'].fillna(' ')
df['drop'] = df['drop'].fillna(' ')

最后结果就是你要这个

rise_drop.txt

363 Bytes

使用道具

板凳
xlbdh2 发表于 2021-9-7 23:34:57 |只看作者 |坛友微信交流群
popodan 发表于 2021-9-6 10:21
import pandas as pd
df = pd.read_csv(r'D:\rise_drop.txt', sep=r'\t', engine='python')
df.loc[(df[ ...
谢谢,高手一个

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 02:53