Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.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_Pandas - Fatal编程技术网

Python 使用函数循环执行几个命令

Python 使用函数循环执行几个命令,python,pandas,Python,Pandas,我有一个循环,不断收到错误消息 print(((df1['col1_df'] == 0) & (df1['col2_df'] == True)).sum()) print(((df1['col1_df'] == 0) & (df1['col3_df'] == True)).sum()) print(((df1['col1_df'] == 0) & (df1['col4_df'] == True)).sum()) print(((df1['col1_df'] == 0) &

我有一个循环,不断收到错误消息

print(((df1['col1_df'] == 0) & (df1['col2_df'] == True)).sum())
print(((df1['col1_df'] == 0) & (df1['col3_df'] == True)).sum())
print(((df1['col1_df'] == 0) & (df1['col4_df'] == True)).sum())
print(((df1['col1_df'] == 0) & (df1['col5_df'] == True)).sum())

print(((df2['col1_df'] == 0) & (df2['col2_df'] == True)).sum())
print(((df2['col1_df'] == 0) & (df2['col3_df'] == True)).sum())
print(((df2['col1_df'] == 0) & (df2['col4_df'] == True)).sum())
print(((df2['col1_df'] == 0) & (df2['col5_df'] == True)).sum())
我想通过一个函数来循环它们

到目前为止,我已经:

for i in range (2,5):
    col = "col{}_df".format(i)
    print(((df['col'] == 0) & (df['col'] == 2)).sum())

如何对df进行编号并使df通过1、2、3、4(如df1、df2、df3)

col
是一个变量<代码>'col'是一个字符串。拥有
df['col']
并不指变量
col

您的字符串格式错误:
col=“col{}\u df”.format(i)


另外,
范围(2,5)
将为您提供
[2,5)
而不是
[2,5]
。它不包括在内。

您可以使用理解将整个代码表达为两行:

print(*( ((df1[f'col1_df'] == 0) & (df1[f'col{i}_df'] == True)).sum() for i in range(2,6) ), sep="\n")
print(*( ((df2[f'col1_df'] == 0) & (df2[f'col{i}_df'] == True)).sum() for i in range(2,6) ), sep="\n")
表达式
((df1[f'col1_-df']==0)和(df1[f'col{i}u-df']==True)).sum()用于范围(2,6)内的i
创建一个生成器对象,逐个生成4个表达式

*
分散此生成器中的元素,并将参数传递到
打印
,就像传递逗号分隔的参数列表一样。
结束=\n
确保输出时这些参数中的每一个都用新行分隔