Python 将for循环的输出写入数据帧
如何将for循环的输出写入数据帧 输入数据是数据帧(df_元素)的列表 我正在尝试将下面for循环的输出写入数据帧。我尝试创建一个空列表(data)并使用data.append追加行输出。我收到一个错误,如无法连接类型为“”的对象强> 下面给出了在控制台中打印输出的代码:Python 将for循环的输出写入数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,如何将for循环的输出写入数据帧 输入数据是数据帧(df_元素)的列表 我正在尝试将下面for循环的输出写入数据帧。我尝试创建一个空列表(data)并使用data.append追加行输出。我收到一个错误,如无法连接类型为“”的对象 下面给出了在控制台中打印输出的代码: cut_off = [0,1,2] for co in cut_off: for df in df_elements: print co, "\t", str((df['score'] > co)
cut_off = [0,1,2]
for co in cut_off:
for df in df_elements:
print co, "\t", str((df['score'] > co).sum())
代码应将截止值与列分数进行比较,并打印每个数据框元素的总数,其中分数大于截止值
输出应如下所示:
cutoff number
0 5 #for first dataframe element
0 5 #for second dataframe element
这对我有用。列表中的元素是否为数据帧?你确定吗?另外,如果你使用的是python 3。不要忘记将代码插入到<代码>打印< /代码>。如果这个解决方案是需要的,请考虑接受它。在其他情况下,让我知道如何改进它,干杯。它工作得非常好!!你能给我解释一下这部分吗?数据帧(列表(zip(截止列表,数字列表)),列=['截止','number']。list和zip函数做什么?@ranusharma-zip是一个将项目绑定在一起的生成器。我相信要理解这一点,您可以运行这样一个玩具示例:
a=[1,2]b=[3,4]c=[5,6]对于zip中的项目(a,b,c):打印(项目)列表(zip(a,b,c))
cutoff number
0 5 #for first dataframe element
0 5 #for second dataframe element
# create empty lists for cutoff and number
cutoff_list = []
number_list = []
# loop through cutoff values and dataframes, to populate your lists
for co in cut_off:
for df in df_elements:
cutoff_list.append(co)
number_list.append((df['score'] > co).sum())
# create dataframe from your lists
df = pd.DataFrame(list(zip(cutoff_list , number_list)),
columns =['cutoff', 'number'])
# get your desired output
print(df)