首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Python基于字段/列中的整数进行流控制?

使用Python基于字段/列中的整数进行流控制?
EN

Stack Overflow用户
提问于 2019-12-06 05:52:32
回答 1查看 24关注 0票数 1

我有一个庞大的数据集需要清理,但我不确定如何使用流控制来获得我需要的输出。列A是一个整数,可以是任何数字。我感兴趣的是A列中何时有特定的数字(0、00、000或没有)。如果这些数字存在,我希望C包含A。如果它们不存在,我希望C是B+ '-'+ A

输入表

代码语言:javascript
运行
复制
A     B    C
0     1   
00    2 
      3 
000   4 
4     5 
10    6 

我的编程技巧

代码语言:javascript
运行
复制
if A = 0, 00, 000, null:
    write B
else:
    Write B + "-" +  A 

所需输出(列C)

代码语言:javascript
运行
复制
A     B    C
0     1    1
00    2    2
      3    3
000   4    4
4     5    5-4
10    6    6-10
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-06 06:57:08

假设数据是以制表符分隔的,则解决方案可能如下所示:

代码语言:javascript
运行
复制
import pandas as pd
import numpy as np
import io 

data =  """A    B
0   1
00  2
    3
000 4
4   5
10  6"""

df = pd.read_csv(io.StringIO(data), sep='\t', dtype=str, keep_default_na=False)
blacklist = ['0','00','000', '']
df['C'] = np.where(np.isin(df['A'], blacklist), df['B'], df['B']+'-'+df['A'])
print(df)

输出

代码语言:javascript
运行
复制
     A  B     C
0    0  1     1
1   00  2     2
2       3     3
3  000  4     4
4    4  5   5-4
5   10  6  6-10
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59203795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档