将特定信息添加到变形的特定列中

时间:2019-03-05 11:31:00

标签: python pandas dataframe

我有两个熊猫变量:

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)

它显示了一个空的数据集。

1 个答案:

答案 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]

,它应该可以正常工作。