如何解决pandas 和“'Nontype' 对象不可调用”
我尝试按照此页面中的示例从 twitter 中抓取数据:https://www.earthdatascience.org/courses/use-data-open-source-python/intro-to-apis/twitter-data-in-python/
# -*- coding: cp852 -*-
import sys
sys.modules[__name__].__dict__.clear()
import os
import tweepy as tw
import pandas as pd
consumer_key = 'XXX'
consumer_secret = 'YYY'
access_token = 'ZZZ'
access_token_secret = 'BBB'
print(consumer_key)
auth = tw.OAuthHandler(consumer_key,consumer_secret)
auth.set_access_token(access_token,access_token_secret)
api = tw.API(auth,wait_on_rate_limit=True)
# Define the search term and the date_since date as variables
search_words = "#MERZ"
date_since = "2021-01-16"
#Collect tweets
tweets = tw.Cursor(api.search,q=search_words,lang = "en",since=date_since).items(5)
for tweet in tweets:
print(tweet.text.encode('cp1252',errors='ignore'))
print([tweet.text for tweet in tweets])
new_search = search_words + " -filter:retweets"
#new_search
tweets = tw.Cursor(api.search,q=new_search,lang="en",since=date_since).items(5)
print([tweet.text for tweet in tweets])
tweets = tw.Cursor(api.search,since=date_since).items(5)
users_locs = [[tweet.user.screen_name,tweet.user.location] for tweet in tweets]
print(users_locs)
tweet_text = pd.DataFrame(data=users_locs,columns=['user',"location"])
print(tweet_text)
但是,我无法打印数据框。错误信息如下:
谁能帮帮我。非常感谢您的帮助。谢谢。
编辑 1:我被要求提供更多信息。附上,您可以找到完整的错误消息。
Traceback (most recent call last):
File "C:\Users\Mustermann\Desktop\tweep\tweep.py",line 59,in <module>
print(tweet_text)
File "C:\Users\Mustermann\Anaconda3\lib\site-packages\pandas\core\frame.py",line 744,in __repr__
self.to_string(
File "C:\Users\Mustermann\Anaconda3\lib\site-packages\pandas\core\frame.py",line 883,in to_string
return formatter.to_string(buf=buf,encoding=encoding)
File "C:\Users\Mustermann\Anaconda3\lib\site-packages\pandas\io\formats\format.py",line 921,in to_string
return self.get_result(buf=buf,line 520,in get_result
self.write_result(buf=f)
File "C:\Users\Mustermann\Anaconda3\lib\site-packages\pandas\io\formats\format.py",line 844,in write_result
max_len = Series(lines).str.len().max()
File "C:\Users\Mustermann\Anaconda3\lib\site-packages\pandas\core\generic.py",line 11459,in stat_func
return self._reduce(
File "C:\Users\Mustermann\Anaconda3\lib\site-packages\pandas\core\series.py",line 4236,in _reduce
return op(delegate,skipna=skipna,**kwds)
File "C:\Users\Mustermann\Anaconda3\lib\site-packages\pandas\core\nanops.py",line 120,in f
result = bn_func(values,axis=axis,**kwds)
TypeError: 'nonetype' object is not callable
[Finished in 2.306s]
编辑 2:即使在使用 Pandas 的最小示例中,我似乎也遇到了错误。请参阅随附的代码。我也更改了标题。
import pandas as pd
import numpy as np
d = {'col1': [1,2],'col2': [3,4]}
print(d)
df = pd.DataFrame(data=d)
df2 = pd.DataFrame(np.array([[1,2,3],[4,5,6],[7,8,9]]),columns=['a','b','c'])
print(df)
print(df2)
解决方法
我不知道解决方法,问题是您试图将 None 对象用作函数(None 意味着什么)。错误消息包含一行,显示哪一行?
,不确定如何,但我通过重新安装 Anaconda 修复了它。
,这为我修好了:
pip install bottleneck -U --force-reinstall
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。