【发布时间】:2019-08-11 03:31:02
【问题描述】:
我有一个带有 DateTime 索引的 pandas DataFrame 和两个名为 'text' 和 'labels' 的列。我想分配labels which have value =2 的值并位于value =50 的日期时间索引范围内
我试过用,
df[df['labels']==2]['2017-02-01 05:03:25+00:00':'2017-02-01 05:05:55+00:00']['labels']=50
我可以查看按 DataTime 索引(行)和列过滤的 DataFrame,但无法分配它
也试过了
df.loc[df['2017-03-13 00:00:00':'2017-03-23 00:00:00'], df['labels']==2]=50
但它引发了错误
df 看起来像
created text labels
2017-02-01 05:03:25+00:00 break john cena eyelash grow 4
2017-02-01 05:05:55+00:00 eyelash tooooo much sweeti definit 2
2017-02-01 05:14:57+00:00 come eyelash 2
created 是 DateTime 索引,'text' 和 'labels' 是 DataFrame 的列
df[df['labels']==2]['2017-02-01 05:03:25+00:00':'2017-02-01 05:05:55+00:00']['labels']
过滤 DataFrame 但如果我们将其设置为等于某个值则不分配它
在为标签 = 50 分配 '2017-02-01 05:03:25+00:00':'2017-02-01 05:05:55+00:00' 和 labels =2 之间创建的 DataFrame 时,我希望结果是这样的
created text labels
2017-02-01 05:03:25+00:00 break john cena eyelash grow 4
2017-02-01 05:05:55+00:00 eyelash tooooo much sweeti definit 50
2017-02-01 05:14:57+00:00 come eyelash 2
【问题讨论】:
标签: python python-3.x pandas