【发布时间】:2017-03-09 23:24:07
【问题描述】:
在这个小数据框中:
d1 = pd.read_csv('to_count.mcve.txt', sep='\t')
pos M1 M2 F1
23 A,B,A,C,D A,C,B A
24 A,B,B,C,B A,B,A B
28 C,B,C,D,E B,C E
我想计算 F1 中有多少值在 M1 和 M2 中。作为一个学习过程,我已经把它分解成碎片。
预期的最终输出:
pos M1 M2 F1
23 2 1 1
24 3 1 1
28 1 0 1
我尝试了什么:
d1 = d1.set_index(['pos'], append=True) # to set the pos value aside for simplicity
我可以使用任何一种方法(虽然并不完全有效),但我想学习这个过程。
然后:在一行中直接计数
d1_count = d1.apply(lambda x: d1.count(d1['F1']))
这是抛出错误消息。我知道我做错了。 那么,我的方法有什么问题?我怎样才能做得更好?
感谢任何带有解释的建议(对于任何或所有方法)。
【问题讨论】:
标签: python arrays pandas numpy count