【发布时间】:2021-10-31 20:48:05
【问题描述】:
我在 Pandas Rows 上的迭代存在复杂性问题。我有一个包含超过 30k 行的数据集,我需要为每一行添加一个新列,其中包含来自特定列的值。
belongs_node_df = pd.DataFrame.from_records(belongs_node, columns=['hashtag', 'tweets_id', 'tokenized_text','sentiment_compound'])
posted_node_df = pd.DataFrame.from_records(posted_node, columns=['username', 'num_followers', 'tweets_id'])
df_user_hashtag = pd.merge(posted_node_df, belongs_node_df, on='tweets_id', how='outer').sort_values('username')
df_user_hashtag['p'] = None
for i in range(len(df_user_hashtag)):
df_user_hashtag['p'][i] = 3 * df_user_hashtag['num_followers'][i]\df_user_hashtag['sentiment_compound'][i]
有一种有效的方法可以对每一行进行此操作吗?非常感谢。 :)
【问题讨论】:
-
删除 for 循环。从最后一行中删除
[i]。 -
并使用另一个斜线字符进行除法
-
那么,如果我删除 for 循环,如何为每一行添加一个新值?
-
你已经得到了答案……
标签: python pandas dataframe performance memory-efficient