【问题标题】:How to append extra column with default value in pandas dataframe?如何在熊猫数据框中附加具有默认值的额外列?
【发布时间】:2021-07-07 15:40:22
【问题描述】:

如何在 pandas 数据框中附加带有默认值的额外列?

请参考以下代码:

userID = "narendramodi"
tweets = api.user_timeline(screen_name=userID, 
                           # 200 is the maximum allowed count
                           count=500,
                           include_rts = True,
                           # Necessary to keep full_text 
                           # otherwise only the first 140 words are extracted
                           tweet_mode = 'extended'
                           )

all_tweets = []
all_tweets.extend(tweets)
oldest_id = tweets[-1].id
while True:
    tweets = api.user_timeline(screen_name=userID, 
                           # 200 is the maximum allowed count
                           count=200,
                           include_rts = True,
                           max_id = oldest_id - 1,
                           # Necessary to keep full_text 
                           # otherwise only the first 140 words are extracted
                           tweet_mode = 'extended'
                           )
    if len(tweets) == 0:
        break
    oldest_id = tweets[-1].id
    all_tweets.extend(tweets)
    print('N of tweets downloaded till now {}'.format(len(all_tweets)))


from pandas import DataFrame
outtweets = [[
              
              tweet.id_str, 
              tweet.created_at, 
              tweet.favorite_count, 
              tweet.retweet_count,]  for idx,tweet in enumerate(all_tweets)]

df = DataFrame(outtweets,columns=["id",
                                  "created_at",
                                  "favorite_count",
                                  "retweet_count",)]
df.head(10)

请参考下面的代码,它运行正常,但我想在数据框中添加额外的列。假设在数据框中反映的所有推文的默认值为 domain = "NA"

【问题讨论】:

    标签: python pandas dataframe tweepy twitterapi-python


    【解决方案1】:

    就这么简单:

    df['domain'] = "NA"
    

    【讨论】:

    • 这只适用于一个元素,但我希望它适用于出现在 df 中的所有推文,应该在 outtweets 中写什么 =[]
    • 我提到的那一行,就在df.head(10) 完成这项工作之前。
    • 另一种选择是在综合列表创建中添加“NA”:...tweet.retweet_count, "NA"]和数据框构造中的列名:..."retweet_count", "domain"]
    【解决方案2】:

    它将用 NaN 值填充 new_col。

    
    import numpy as np
    
    df['new_col'] = np.NaN
    
    

    【讨论】:

    • 这只适用于一个元素,但我希望它适用于出现在 df 中的所有推文,应该在 outtweets 中写什么 =[]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    相关资源
    最近更新 更多