Py学习  »  Python

如何使用python将for循环输出数据帧合并为一个?

Makunata • 3 年前 • 1386 次点击  

我有两个数据帧,如下所示:

dfa = pd.DataFrame(['AA', 'BB', 'CC'], columns=list('A'))
dfb = pd.DataFrame(['AC', 'BC', 'CC'], columns=list('B'))

我的输出是生成一个新的数据帧,其中dfb中的B列和从B到a的每个元素之间的另一列距离(例如,从AC到AA的汉明距离为1),如下所示:

   B    disB  disB disB
0  AC    1    2    1
1  BC    2    1    1
2  CC    2    2    0

我尝试过的代码如下(其他帖子提供):

dfa = pd.DataFrame(['AA', 'BB', 'CC'], columns=list('A'))
dfb = pd.DataFrame(['AC', 'BC', 'CC'], columns=list('B'))

df_summary = dfb.copy()

for seq1 in dfa.A:
    df__ = []
    for seq2 in dfb.B:
        hd = sum(c1 != c2 for c1, c2 in zip(seq1, seq2))
        df__.append(hd)

    df_summary['dis_{}'.format(column)] = pd.DataFrame({'dis_' + column: df__}).values
    print(df_summary)

结果将给我3个输出:

    B  dis_B
0  AC      1
1  BC      2
2  CC      2
    B  dis_B
0  AC      2
1  BC      1
2  CC      2
    B  dis_B
0  AC      1
1  BC      1
2  CC      0

但我需要把它们结合在一起,比如:

B解散解散解散解散
0 AC 1 2 1
公元前1年2月1日
2 CC 2 0

谢谢你的帮助!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/128868
 
1386 次点击  
文章 [ 2 ]  |  最新文章 3 年前