Python DF:如何根据条件为一行选择多列中的值?

小熊维尼

在这里,我有一个数据集,其中包含一条记录的多个代码。我需要选择以“6”开头的代码,并将它们放在每条记录的新列中。

数据框看起来像这样:

ID   Code1   Code2   Code3   Code4   Code5   Code6
1    64774    NaN     NaN     NaN     NaN     NaN
2    60240   95868    NaN     NaN     NaN     NaN
3    36500   60500   95867    NaN     NaN     NaN
4    19125   19301   36500    NaN     NaN     NaN
5    36500   60500   60520    95868   95869   NaN
6    31528   31622   36500    43235   60500   60520   
# Create the dataframe
d = {'ID': ['1', '2', '3', '4', '5', '6'], 
     'Code1': ['64774','60240','36500','19125','36500','31528'],
     'Code2': [np.nan,'95868','60500','19301','60500','31622'],
     'Code3': [np.nan,np.nan,'95867','36500','60520','36500'],
     'Code4': [np.nan,np.nan,np.nan,np.nan,'95868','43235'],
     'Code5': [np.nan,np.nan,np.nan,np.nan,'95869','60500'],
     'Code6': [np.nan,np.nan,np.nan,np.nan,np.nan,'60520'],
     } 
df = pd.DataFrame(data=d)

我想到了循环或函数,如:

def myfunc(row):
    if row['Code1'].str.startswith('6'):
       return row['Code1']

但我不太确定如何在一个函数中运行所有 6 列(Code1 - Code6)的函数,并将所有选定的代码放在一起作为 1 个值。

我正在寻找的是:

ID   Code1   Code2   Code3   Code4   Code5   Code6      New_Col
1    64774    NaN     NaN     NaN     NaN     NaN        64774
2    60240   95868    NaN     NaN     NaN     NaN        60240
3    36500   60500   95867    NaN     NaN     NaN        60500
4    19125   19301   36500    NaN     NaN     NaN         NaN
5    36500   60500   60520    95868   95869   NaN      60500, 60520
6    31528   31622   36500    43235   60500   60520    60500, 60520

提前致谢!

纳西姆

你可以试试这个

d = {'ID': ['1', '2', '3', '4', '5', '6'], 
     'Code1': ['64774','60240','36500','19125','36500','31528'],
     'Code2': [np.nan,'95868','60500','19301','60500','31622'],
     'Code3': [np.nan,np.nan,'95867','36500','60520','36500'],
     'Code4': [np.nan,np.nan,np.nan,np.nan,'95868','43235'],
     'Code5': [np.nan,np.nan,np.nan,np.nan,'95869','60500'],
     'Code6': [np.nan,np.nan,np.nan,np.nan,np.nan,'60520'],
     } 

df = pd.DataFrame(data=d)

df['Code7'] = [[] for _ in range(len(df))]


for i in df.index : 
  row = df.drop('ID',axis=1).copy().loc[i]
  for val in row : 
      if isinstance(val,str) and val.startswith('6') : 
        df.Code7[i].append(val)

print(df)

我希望它有帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何根据Python中的字符串值将文件分组为一行?

来自分类Dev

Python Dataframe:根据前一行值选择行

来自分类Dev

如何在python中有条件地选择上一行的值?

来自分类Dev

根据python中的条件更新多列值

来自分类Dev

在Python中找到满足条件的列中的第一行(值大于x)

来自分类Dev

Python使用Pandas从同一行中的两个值的条件生成新列

来自分类Dev

在python的Excel工作表的每一行中为MIN值添加额外的列

来自分类Dev

Python:如何选择表中一行的值(存储在向量中)?

来自分类Dev

如何用一行代码删除python中的多列?

来自分类Dev

如何从python中的df减去(最后一列,最后一行)减去(最后一列,第一行)

来自分类Dev

Pandas Python,根据行条件选择列

来自分类Dev

Pandas Python,根据行条件选择列

来自分类Dev

Python Pandas,检查一行中某些列的条件?

来自分类Dev

根据python中列的条件更新行值

来自分类Dev

根据另一列Python的确定值将一行中的单词分成几行

来自分类Dev

如何在一行中使用“ where”函数在python数据帧中根据条件传递常量值

来自分类Dev

根据行值,Python,Pandas选择列

来自分类Dev

如何根据Python中的多个条件更新列值?

来自分类Dev

如何在 Python 的同一行代码中过滤 2 个不同列(系列)的值?

来自分类Dev

python中的一行条件构造

来自分类Dev

python pandas如果A列中为1,则在同一行中使用B列的值

来自分类Dev

Python 3:按最后一行的列值排序DF的字典

来自分类Dev

根据pandas/python中的前一行值修改行值

来自分类Dev

Python Dataframe根据当前值条件选择最后n行

来自分类Dev

在Python中为每个客户端选择当前行和上一行

来自分类Dev

如何在 Python 中将此嵌套条件减少为一行?

来自分类Dev

Python-如何将一行的列值与下一行的值进行比较

来自分类Dev

如何通过遍历Python数据框中的每一行将计算的值存储在新列中?

来自分类Dev

计算Python中每一行中特定列的下3行的最大值

Related 相关文章

  1. 1

    如何根据Python中的字符串值将文件分组为一行?

  2. 2

    Python Dataframe:根据前一行值选择行

  3. 3

    如何在python中有条件地选择上一行的值?

  4. 4

    根据python中的条件更新多列值

  5. 5

    在Python中找到满足条件的列中的第一行(值大于x)

  6. 6

    Python使用Pandas从同一行中的两个值的条件生成新列

  7. 7

    在python的Excel工作表的每一行中为MIN值添加额外的列

  8. 8

    Python:如何选择表中一行的值(存储在向量中)?

  9. 9

    如何用一行代码删除python中的多列?

  10. 10

    如何从python中的df减去(最后一列,最后一行)减去(最后一列,第一行)

  11. 11

    Pandas Python,根据行条件选择列

  12. 12

    Pandas Python,根据行条件选择列

  13. 13

    Python Pandas,检查一行中某些列的条件?

  14. 14

    根据python中列的条件更新行值

  15. 15

    根据另一列Python的确定值将一行中的单词分成几行

  16. 16

    如何在一行中使用“ where”函数在python数据帧中根据条件传递常量值

  17. 17

    根据行值,Python,Pandas选择列

  18. 18

    如何根据Python中的多个条件更新列值?

  19. 19

    如何在 Python 的同一行代码中过滤 2 个不同列(系列)的值?

  20. 20

    python中的一行条件构造

  21. 21

    python pandas如果A列中为1,则在同一行中使用B列的值

  22. 22

    Python 3:按最后一行的列值排序DF的字典

  23. 23

    根据pandas/python中的前一行值修改行值

  24. 24

    Python Dataframe根据当前值条件选择最后n行

  25. 25

    在Python中为每个客户端选择当前行和上一行

  26. 26

    如何在 Python 中将此嵌套条件减少为一行?

  27. 27

    Python-如何将一行的列值与下一行的值进行比较

  28. 28

    如何通过遍历Python数据框中的每一行将计算的值存储在新列中?

  29. 29

    计算Python中每一行中特定列的下3行的最大值

热门标签

归档