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
确保输出时这些参数中的每一个都用新行分隔