【问题标题】:No output when merge two data frame by loop循环合并两个数据帧时没有输出
【发布时间】:2016-02-22 02:29:27
【问题描述】:

我正在循环合并两个数据框(不是熊猫对象,我已经知道熊猫解决方案)。

df1
A B

df2
B C

我想要

df3
A B C

我做了什么

for line in fi:
    b_id = line.split(',')[1]
    for line2 in fi2:
        b_id2, labels = line2.split(',')
        #print b_id
        if b_id == b_id2:
            #print b_id2
            fo.write("%9s\n" % labels)
fo.close()

没有输出。

我检查了什么:

  1. 输入正确。
  2. 打印出每个循环中的每个变量。
  3. 外循环中的变量可以传入内循环。

我检查的内容(但可能没用):

  1. 循环方法本身就ok

    for i in range(3): for j in range(4): if i == j: print (i, j)

  2. b_id == b_id2 更改为b_id != b_id2。我得到了输出但不想要。

【问题讨论】:

  • 检查打印(标签)。
  • 已检查。没有输出。但是,如果将 b_id == b_id2 更改为 b_id != b_id2。我得到了输出但不想要。
  • 因为你的算法不正确。

标签: python file loops io


【解决方案1】:

尝试像这样获取行子项目:

b_id = [v.strip() for v in line.split(',')][1]

【讨论】:

  • 工作。你能谈谈工作或不工作的可能原因吗?
  • 拆分的子项可能包含空白字符,导致完全匹配失败。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-26
  • 2018-11-16
  • 2021-12-30
  • 1970-01-01
  • 2022-11-25
  • 1970-01-01
  • 2020-07-25
相关资源
最近更新 更多