如何为熊猫数据帧编写一个for循环的输出?
输入数据是数据帧(df_elements)的列表.
[ seq score status
1652 TGGCTTCGATTTTGTTATCGATG -0.22 negative
1277 GTACTGTGGAATCTCGGCAGGCT 4.87 negative
302 CCAAAGTCTCACTTGTTGAGAAC -4.66 negative
1756 TGGCGGTGGTGGCGGCGCAGAGC 1.55 negative
5043 TGACGAAACATCTTATAAAGGAA 1.96 negative
3859 CAGAGCTCTTCAAACTTAAGAAC -0.39 negative
1937 GTATGCTTGTGCTTCTCCAAAAA -0.91 negative
2805 GGCCGGCCTGTGGTCGACGGGGA -3.26 negative
3353 CCGATGGGC -1.97 negative
5352 ACTTACTATTTACTGATCAGCAC 3.53 negative
5901 TTGAGGCTCTCCTTATCCAGATT 6.37 negative
5790 AAGGAAACGTGTAATGATAGGCG -2.69 negative, seq score status
2197 CTTCCATTGAGCTGCTCCAGCAC -0.97 negative
1336 CCAAATGCAACAATTCAAAGCCC -0.44 negative
4825 CAATTTTGT -6.44 negative
4991 ATACTGTTTGCTCACAAAAGGAG 2.15 negative
1652 TGGCTTCGATTTTGTTATCGATG -0.22 negative
1964 ACCACTTTGTGGACGAATACGAC -4.51 negative
4443 TTCCTCGTCTAGCCTTTCAGTGC 3.05 negative
4208 TGGCTGTGAACCCCTATCAGCTG 2.70 negative
212 CTGTCGTTTCAATGTTTAAGATA 6.43 negative
775 GCTTTAAGT 0.06 negative
3899 GAGCAAAGC -6.61 negative
我正在尝试将下面的for循环的输出写到一个数据帧中。我尝试创建一个空列表(数据),并使用data.append追加逐行输出。我得到了一个错误,比如不能连接类型为“;”的对象
下面给出了在控制台中打印输出的代码:
cut_off = [0,1,2]
for co in cut_off:
for df in df_elements:
print co, "\t", str((df['score'] > co).sum())
代码应该将cut_off值与列得分进行比较,并为每个数据框架元素打印总计,其中得分大于cut_off。
输出应该如下所示:
cutoff number
0 5 #for first dataframe element
0 5 #for second dataframe element
发布于 2019-12-04 03:09:28
# 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)
https://stackoverflow.com/questions/59174436
复制相似问题