我有两个熊猫变量:
df1:
Empty DataFrame
Columns: [time_tweet, time_stock, sentiment, trend]
Index: []
df2:
index likes ... user_screen_name sentiment
created_at ...
2019-02-27 05:36:29 0 94574 ... realDonaldTrump positive
2019-02-27 05:31:21 1 61666 ... realDonaldTrump negative
2019-02-26 18:08:14 2 151844 ... realDonaldTrump positive
2019-02-26 04:50:37 3 184597 ... realDonaldTrump positive
2019-02-26 04:50:36 4 181641 ... realDonaldTrump negative
2019-02-26 03:04:49 5 104291 ... realDonaldTrump negative
2019-02-25 23:17:02 6 104043 ... realDonaldTrump positive
2019-02-25 23:12:25 7 74302 ... realDonaldTrump positive
df1.shape:
(0, 4)
df2.shape:
(591, 10)
此代码的目的是创建一个循环,遍历df2中的所有信息。当满足特定条件时,来自df2的特定信息将添加到df1的特定列的末尾。
例如:
for row in range(0,519):
if "specific condition" :
df1.time_tweet.loc[-1]=df2.like[row]
df1.time_stock.loc[-1]=df2.sentiment[row]
...
实际的问题是,当我执行命令时:
print(df1)
它显示了一个空的数据集。
答案 0 :(得分:0)
如果我理解正确,则可以更改添加数据的方式。使用.loc
运算符索引到DataFrame中。
例如
df1.loc[index_loop, "col_1"]= df2.information[index_loop]
这将添加新行(如果尚不存在)。
更新
你快到了数据框为空,因为df1.time_stock
将返回您要插入的数据的副本。
将插入内容更改为
df1.loc[-1,"time_tweet"] = df2.like[row]
df1.loc[-1,"time_stock"] = df2.sentiment[row]
,它应该可以正常工作。