【问题标题】:what is a KeyError in Python 3.5/Pandas?Python 3.5/Pandas 中的 KeyError 是什么?
【发布时间】:2017-04-25 12:05:59
【问题描述】:

我使用的文件是从 twitter 流中导出的。但是当运行代码时 然后错误: KeyError: 'text' on tweets['python'] = tweets['text'].apply(lambda tweet: word_in_text('python', tweet))。 如何解决?谢谢大家...!

import re
import json
import string
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
tweets_data_path = '...\\..\\log1000.txt'

tweets_data = []
tweets_file = open(tweets_data_path, "r")
for line in tweets_file:
    try:
        tweet = json.loads(line)
        tweets_data.append(tweet)
    except:
        continue	
def word_in_text(word, text):
    word = word.lower()
    text = text.lower()
    match = re.search(word, text)
    if match:
        return True
    return False
#------------------------DataFrame--------------------------
tweets = pd.DataFrame()	
#------------------------------------------------------------------------
tweets['python'] = tweets['text'].apply(lambda tweet: word_in_text('python', tweet))
#----------------------------------------------------------------
print (tweets['python'].value_counts()[True])

【问题讨论】:

    标签: python twitter


    【解决方案1】:

    键错误表示在字典/数据框中找不到具有该键的数据。

    【讨论】:

    • 你可以帮助我。如何解决?
    • 你能在推文中显示列吗?例如list(tweets.columns)
    【解决方案2】:

    您的 DataFrame 中没有任何数据。尝试: tweets = pd.DataFrame(data=tweets_data, columns=['tweets'])

    【讨论】:

    • 用“推文”替换“文本”
    • 我正在尝试但错误消息。 AttributeError: 'float' 对象没有属性 'lower'
    • 这是您的word_in_text function 的问题。您的一条多条推文存储为浮点数。不是文字。
    猜你喜欢
    • 2021-05-04
    • 2015-12-10
    • 2013-07-20
    • 1970-01-01
    • 2020-10-04
    相关资源
    最近更新 更多