【问题标题】:simple pandas merge has unexpected results - get data structure but not expected data简单的 pandas 合并有意想不到的结果 - 获取数据结构但不是预期的数据
【发布时间】:2020-05-28 16:56:11
【问题描述】:

所以我得到了意想不到的结果 - 我的合并包括 1 个表中的 2 列,另一个表中的 3 列,它们之间有一个公共列。合并返回预期的 3 列数据结构,但仅返回来自合并一侧的结果(基本上是数据一侧的副本),因此除非我进行外连接,否则一个字段没有值。如果我进行内部连接,我不会得到任何值——即使我可以清楚地看到共同的值。 使用 on_left 和 on_right 得到相同的结果。没有列被索引。

我正在使用 Pandas v 1.0.3

DFA.merge(DFB, on=['queue'], how='left').fillna('').drop_duplicates() 结果

(illustrative - not actual results)
queue  group   app
Q1        G1
Q2        G2
Q3        G2
Q4
Q5        G4
Q5        G6

DFA.merge(DFB, on=['queue'], how='right').fillna('').drop_duplicates() 结果


(illustrative - not actual results)
app queue   group
10  Q1
20  Q3
30  Q3
40  Q4
10     

DFA.merge(DFB, on=['queue'], how='inner').fillna('').drop_duplicates() 结果

(actual results)

是的,没有结果

这看起来很简单 - 我在这里错过了什么?队列文件中的值在 excel 中被验证为完全相同。数据类型都是对象(字符串)

【问题讨论】:

  • FWIW,我在读取文件.str.encode('utf-8') 和 encoding='utf-8'``` 时将编码设置为'utf-8'

标签: python pandas pandas-1.0


【解决方案1】:

用户从数据中删除了空格,然后向我显示数据匹配,然后将文件发送给我但不保存它,因此数据仍然有空格。

永远不要相信任何输入

代码很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-26
    • 2014-05-24
    • 1970-01-01
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    • 2019-04-05
    • 2019-05-21
    相关资源
    最近更新 更多