Python 3.x 如何输出循环中的每一行

Python 3.x 如何输出循环中的每一行,python-3.x,twilio-programmable-chat,Python 3.x,Twilio Programmable Chat,此代码的目标是在列出天数时打印出一些列值。我得到的输出是第一天的列值 days = final_merged_data['Day'].tolist() for day in days: each_row = final_merged_data[final_merged_data['Day'] == days] message_partition = f""" [{day}] Solar_Power_Generated in MW =

此代码的目标是在列出天数时打印出一些列值。我得到的输出是第一天的列值

days = final_merged_data['Day'].tolist()
for day in days:
    each_row = final_merged_data[final_merged_data['Day'] == days]

    message_partition = f"""
    [{day}]
    Solar_Power_Generated in MW = {str(each_row['Power_Solar'].tolist()[0])}
    Wind_Power_Generated in MW = {str(each_row['Power_Wind'].tolist()[0])}
    Total_Power_Generated in MW = {str(each_row['Total MW'].tolist()[0])}"""
    
print(message_partition)
我得到的输出与第1行的列值相同

[12]
    Solar_Power_Generated in MW = 26.48
    Wind_Power_Generated in MW = 30.34
    Total_Power_Generated in MW = 56.82
[13]
    Solar_Power_Generated in MW = 26.48
    Wind_Power_Generated in MW = 30.34
    Total_Power_Generated in MW = 56.82

类似这样的内容应该适用于列字典:

rows = final_merged_data.tolist()
for row in rows:
    message_partition = f"""
    [{row['Day']}]
    Solar_Power_Generated in MW = {str(row['Power_Solar'])}
    Wind_Power_Generated in MW = {str(row['Power_Wind'])}
    Total_Power_Generated in MW = {str(row['Total MW'])}"""
    
    print(message_partition)
或者,如果所有列都存储为dict中的列表

rows = zip(final_merged_data['Day'].tolist(), final_merged_data['Power_Solar'].tolist(), final_merged_data['Power_Wind'].tolist(), final_merged_data['Total MW'].tolist())

for row in rows:
    message_partition = f"""
    [{row[0]}]
    Solar_Power_Generated in MW = {str(row[1])}
    Wind_Power_Generated in MW = {str(row[2])}
    Total_Power_Generated in MW = {str(row[3])}"""
    
    print(message_partition)

请提供需要为预期输出进行分析的输入示例。您的打印语句不在循环内。也许已经是这样了。如果没有,请提供有关输入和预期输出的更多信息。对于索引,您使用的是比较[final_merged_data['Day']==days],这将导致False always。列表索引相当于最终合并数据[0],因此始终显示第一行数据。@windstorm I已使用days=final\u merged\u data['Day']声明它。tolist()@tst。我将print语句移动到循环中,但得到了相同的结果hanks@windstorm。第二种解决方案效果很好。多亏了你,我学到了一些新东西。
rows = zip(final_merged_data['Day'].tolist(), final_merged_data['Power_Solar'].tolist(), final_merged_data['Power_Wind'].tolist(), final_merged_data['Total MW'].tolist())

for row in rows:
    message_partition = f"""
    [{row[0]}]
    Solar_Power_Generated in MW = {str(row[1])}
    Wind_Power_Generated in MW = {str(row[2])}
    Total_Power_Generated in MW = {str(row[3])}"""
    
    print(message_partition)