如何将python for循环的输出插入excel列?
我正在尝试使用for循环来填充excel电子表格中目标列中的数据。生成目标列,但来自for循环的信息不会打印到excel文件中如何将python for循环的输出插入excel列?,python,excel,Python,Excel,我正在尝试使用for循环来填充excel电子表格中目标列中的数据。生成目标列,但来自for循环的信息不会打印到excel文件中 import pandas as pd aasb_scores = pd.read_excel ('/Users/nnamdiokoli/Library/Containers/com.microsoft.Excel/Data/Desktop/AASB Scoring PivotTable Example.xlsx',
import pandas as pd
aasb_scores = pd.read_excel ('/Users/nnamdiokoli/Library/Containers/com.microsoft.Excel/Data/Desktop/AASB Scoring PivotTable Example.xlsx',
index=False)
aasb_scores['Average'] = (aasb_scores['Q1'] +
aasb_scores['Q2']+ aasb_scores['Q3'] +
aasb_scores['Q4'] + aasb_scores['Q5'])/5.00
aasb_scores.head(10)
def finalround():
for i in aasb_scores['Average']:
if i >= 3:
print('Final Round')
else:
print('cut')
aasb_scores['Moving on?'] = finalround()
aasb_scores.to_excel('/Users/nnamdiokoli/Library/Containers/com.microsoft.Excel/Data/Desktop/AASB Scoring PivotTable Example.xlsx',
index=False)
print()
仅用于在屏幕上显示,不用于放入变量或任何其他位置。您应该使用
返回“最后一轮”
和返回“切割”
但是使用pandas
时,您应该使用它的函数,而不是来执行-loop-ie.apply()
或使用lambda缩短
import pandas as pd
import random
df = pd.DataFrame({'Average': [random.randint(0,5) for _ in range(10)]})
df['Moving on?'] = df['Average'].apply(lambda x: 'Final Round' if x>=3 else 'cut')
print(df)
最终,您可以创建具有默认值的列“继续”
“剪切”
,以及稍后要在其中设置“最后一轮”
import pandas as pd
import random
df = pd.DataFrame({'Average': [random.randint(0,5) for _ in range(10)]})
df['Moving on?'] = 'cut'
df['Moving on?'][ df['Average'] >= 3 ] = 'Final Round'
print(df)
print()
仅用于在屏幕上显示,不用于放入变量或任何其他位置。您应该使用而不是返回“最后一轮”
。但是使用pandas
时,您应该使用它的函数,而不是来执行-loop-ie.apply()
。您的函数可以为列中的所有单元格返回一个值。
import pandas as pd
import random
df = pd.DataFrame({'Average': [random.randint(0,5) for _ in range(10)]})
df['Moving on?'] = 'cut'
df['Moving on?'][ df['Average'] >= 3 ] = 'Final Round'
print(df)