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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将特定信息添加到pandas变形的特定列中相关的知识,希望对你有一定的参考价值。

我有两个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)

它显示了一个空数据集。

答案

如果我理解正确,您可以更改添加数据的方式。使用.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]

它应该按预期工作。

以上是关于将特定信息添加到pandas变形的特定列中的主要内容,如果未能解决你的问题,请参考以下文章

如何将字符添加到特定列? [复制]

IDEA中代码不小心删除,或者改了半天想回退到某个特定时间怎么办?

Pandas groupby 将特定函数聚合/应用到特定列(np.sum,sum)

Pandas:使用 apply 将特定列中的行值复制到新列中

将数据添加到 DataGrid 中的特定列

Pandas:将特定功能应用于列并创建其他列