我使用 tweepy 存储了 twitter 的流数据。我从数据中提取了名称、语言、国家/地区和文本,并将其存储在一个 pandas 数据框中。 现在我想将性别字段添加到同一个数据帧中,这是我通过使用 for 循环通过 GEt 请求从性别 api 获取的。 如何将该性别列添加到同一数据框中?
tweets_data 包含所有数据,我正在使用 nameparser 来查找名字
tweets['text'] = map(lambda tweet: tweet['text'], tweets_data)
tweets['lang'] = map(lambda tweet: tweet['lang'], tweets_data)
tweets['country'] = map(lambda tweet: tweet['place']['country'] if tweet['place'] != None else None, tweets_data)
tweets['name'] = map(lambda tweet: tweet['user']['name'], tweets_data)
tweets1=pd.DataFrame()
tweets1['name1'] = map(lambda tweet: tweet['user']['name'], tweets_data)
gender_data=[]
for i,v in tweets.iterrows():
try:
name1 = v['name']
name = HumanName(name1)
PARAMS = {'name':name['first']}
r = requests.get(url = URL, params = PARAMS)
data = r.json()
name = data['name']
gender = data['gender']
gender_data.append(gender)
print(gender_data)
except:
continue
tweets1=pd.DataFrame(gender_data,columns=['gender'])
tweets.merge(tweets1,how='left', left_on='name', right_on='name1')
最佳答案
Pandas 允许您仅添加字段。 采取以下框架:
my_frame = pd.DataFrame({'name': ['bob', 'jack']})
您可以像这样添加性别列:
my_frame['gender'] = [1,2]
关于python - 使用 for 循环将数据添加到 pandas 数据帧,所有数据具有相同的键数据帧已经包含一些数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53436343/