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

问题描述 投票:-1回答:1

我有两个pandas变量:

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)

它显示了一个空数据集。

python pandas dataframe
1个回答
0
投票

如果我理解正确,您可以更改添加数据的方式。使用.loc运算符索引DataFrame。

EG

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]

它应该按预期工作。

© www.soinside.com 2019 - 2024. All rights reserved.