【问题标题】:How to merge two data frames in pandas?如何合并熊猫中的两个数据框?
【发布时间】:2017-06-22 14:03:13
【问题描述】:

我有两个熊猫数据框

Unnamed: 0  sentiment   numberagreed    tweetid tweet
0   0   2   6   219584  Apple processa a Samsung no Japão - Notícias -...
1   1   1   3   399249  É O JACKI CHAN !!! RT @user ESSE É DOS MEUS!!!...
2   2   3   3   387155  Eras o samsung galaxy tab e muito lerdo para t...
3   3   3   3   205458  Dizem que a coisa mais triste que o homem enfr...
4   4   3   3   2054404 RAIVA vou ter que ir com meu nike dinovo pra e...

tweetid sent
219584  0.494428
399249  0.789241
387155  0.351972
205458  0.396907
2054404 0.000000

它们的长度不一样,第二个数据框中有一些缺失值

我想根据tweetid合并两个数据框,去掉缺失值

【问题讨论】:

  • 如果您将问题与最小可执行示例一起提出,将更容易获得良好的答复。 IE。不要显示预先格式化的表格,而是包含一个创建它们的示例。

标签: python pandas dataframe sentiment-analysis


【解决方案1】:

使用pd.merge

pd.merge(left=df1, right=df2, on='tweetid', how='inner')

因为你拿inner,不重叠的部分会被扔掉。 on='tweetid' 将其合并到 tweetid

【讨论】:

  • 它给出了 KeyError: 'tweetid' 这是怎么回事!?
  • @MuhammedEltabakh 这可能是因为您的列名不同
  • @MuhammedEltabakh 表示没有名为tweetid的列。确保你的列被正确命名
  • 是的 tweetid 是第二个数据帧的索引,我只能使用 df.index 访问它
  • 重置索引不起作用,但我明白了,我创建了一个新列,将 tweetid 中的值转换为整数,因为它们是字符串并将其附加到它并执行上述命令,它工作了谢谢
【解决方案2】:

文件开头的某处可能有一个额外的字符。您是否正在从 csv 文件中读取数据?发布您如何读取数据的源代码。

或在两个数据框上命名您的列。

df_tweets.columns = ("tweetid", "sent")

【讨论】:

    猜你喜欢
    • 2017-06-11
    • 2016-01-01
    • 2017-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多