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

标签 python if-statement

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

输入表

A     B    C
0     1   
00    2 
      3 
000   4 
4     5 
10    6 

我的代码尝试

if A = 0, 00, 000, null:
    write B
else:
    Write B + "-" +  A 

所需输出(C 列)

A     B    C
0     1    1
00    2    2
      3    3
000   4    4
4     5    5-4
10    6    6-10

最佳答案

假设数据是制表符分隔的,解决方案可能类似于以下内容:

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)

输出

     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

关于python - 使用Python基于字段/列中的整数进行流量控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59203795/

相关文章:

python - 从列表中删除元素后释放内存

python - 预期输入batch_size (1) 与目标batch_size (10) 匹配

python - Django - 从 F 表达式获取值

python - 一行 'if'/'for' -statements 是好的 Python 风格吗?

python - 如何在 if 语句中收集元组值?

python - 如何根据列值将数据拆分为训练和测试并打乱组合?

java - 如何设计可扩展的错误码?

haskell - 如何在 Haskell 中简化嵌套 if 使用以返回值

android - AlertDialog EditText 输入验证不起作用

在 Switch 语句中转换 IF 语句