Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 循环遍历日期框中的行以检查两个单独列中的值_Python_Python 2.7_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 循环遍历日期框中的行以检查两个单独列中的值

Python 循环遍历日期框中的行以检查两个单独列中的值,python,python-2.7,python-3.x,pandas,dataframe,Python,Python 2.7,Python 3.x,Pandas,Dataframe,假设我有一个6列4行的数据框,还有一个单独的列表,我们称之为boollist。我要做的是遍历所有行,然后如果行中的两个单元格包含空白字符串,我会将False附加到boollist。反之亦然,如果该行包含的空白字符串单元格少于2个,则会附加一个True。在流程结束时,boollist的长度应与行数相同,以便可以将其添加为新列 column0 column1 column2 column3 column4 column5 row0 'data'

假设我有一个6列4行的数据框,还有一个单独的列表,我们称之为boollist。我要做的是遍历所有行,然后如果行中的两个单元格包含空白字符串,我会将False附加到boollist。反之亦然,如果该行包含的空白字符串单元格少于2个,则会附加一个True。在流程结束时,boollist的长度应与行数相同,以便可以将其添加为新列

         column0    column1    column2    column3    column4    column5
row0     'data'     'data'      'data'    'data'      'data'     'data'
row1     'data'       ''        'data'    'data'      'data'     'data'
row2       ''         ''         ''          ''       'data'       ''
row3     'data'      'data'     'data'     'data'     'data'     'data'
在这个例子中,boollist应该包含[True,True,False,True]


提前感谢您的帮助。

熊猫最大的优点是您不需要重复任何内容

如果不想编辑数据以将字符串计数为null,则可以使用applymap查看数据

在数据帧中按元素应用函数。在applymap中,您可以使用,如果单元格有空字符串,它将返回True。然后对行中的空字符串求和

df.applymap(lambda x: x =='').sum() <2
在少于两个空字符串的行上返回一个布尔数组条件。

在布尔上下文中,空格解析为False

更明确地说

df.eq('').sum(1) < 2

但我不想放弃任何东西。我只想检查行,然后附加到一个单独的列表中。我也没有任何NAN,它们是空字符串..isnull不能将空字符串作为空值使用。还有一种方法可以让它返回一个包含1和0的int列表,或者返回一个包含“yes”或“no”的字符串列表吗?布尔数组更像是一种跟踪结果的任意方式,我很抱歉不清楚。您可以将空字符串转换为空值,然后使用代码,是的,但我希望找到一种不涉及更改实际数据的技术,因为空字符串在我的数据集中有意义。我知道我可以再去替换他们,但我希望能找到一个更有效的策略。让我们。
df.eq('').sum(1) < 2