首页 > 解决方案 > 我需要分析数据框中的所有行并检查任何列中是否存在值

问题描述

我目前正在尝试检查数据帧的每一行中是否存在值,如果是这种情况,则变量值应该更改。我正在考虑这样的事情:

import pandas as pd

d1 = {'1': ['1.1.1.1', '2.2.2.2'], '2': ['molear', 'laurylh'], '3': ["131", "132"], '4': ["3", "4"], '5': ["133", "131"], '6': ["3", "4"]}
df1 = pd.DataFrame(data=d1)

C="0"

for i1 in df1.loc[0]:
    if (i1=="131"):
        C="Result1"  

但这仅适用于第一行。有没有办法对数据框中的每一行执行此操作?这个想法是制作第二个数据帧,它将 C 值存储在与 df1 相关的每一行中。谢谢!

标签: pythondataframe

解决方案


感谢你的回答。是的,我知道 df.iterrows() 但问题是我需要检查每行的所有列并尝试查找是否有“131”。我在想这样的事情:

C='131 is not present'

X=0

   

for index, row in df1.iterrows():

    for i1 in df1.loc[X]:

        if (i1=="131"):

            C='131 is present in this row' 

            X=X+1       

        print(i1)

现在的问题是我不知道如何在每行中用 C 结果填充一个新的数据帧(df2,当前为空)。例如,如果 df1 有 50 行,我想用 C 结果填充 df2 中的 50 行,说明该行中是否存在 131(根据我在 df1 中的内容)。谢谢!


推荐阅读