import sys,tweepy,csv,re
from textblob import TextBlob
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
consumerKey = 'xxxxx'
consumerSecret = 'xxxxxxxx'
accessToken = 'xxxxxxxxxx'
accessTokenSecret = 'xxxxxxxxxx'
auth = tweepy.OAuthHandler(consumerKey, consumerSecret)
auth.set_access_token(accessToken, accessTokenSecret)
api = tweepy.API(auth)
# input for term to be searched and how many tweets to search
searchTerm = input("Enter Keyword/Tag to search about: ")
NoOfTerms = int(input("Enter how many tweets to search: "))
# searching for tweets
tweets = tweepy.Cursor(api.search, q=searchTerm, lang = "en").items(NoOfTerms)
df = pd.DataFrame(data=[tweet.text for tweet in tweets], columns =['tweets'])
До этого момента мой код работал нормально, так как я могу транслировать твиты и даже получать текстовые поля из твитов. Но я не могу создать несколько столбцов для моего pandas кадра данных, как показано в коде ниже.
df['len'] = np.array([len(tweet.text) for tweet in tweets])
df['source'] = np.array([tweet.source for tweet in tweets])
df
Это ошибка, которую я получаю обратно.
ValueError: Length of values does not match length of index
Может кто-нибудь помочь мне решить эту проблему? Я также пытался использовать pd.Series вместо np.array, но даже это не работает. Я могу запускать команды по отдельности, но не могу добавить всю информацию в мой фрейм данных.