小编oas*_*wla的帖子

Python - 基于多个日期创建一个新列

我有一个非常大的数据框。
我想根据其他列“用户ID”和“日期”创建一个新列“结果”。
userid 有两条或更多条记录。

import pandas as pd
import numpy as np

userid = ['1','1','22','48','48','48','393','393','555','555'] 
date = ['11/01/2016','11/02/2016','11/05/2016','11/08/2016','12/02/2016','02/12/2017','02/22/2017','02/28/2017','12/15/2016','02/28/2017'] 
df1 = pd.DataFrame({"userid": userid, "date": date})

userid  date
  1   11/01/2016
  1   11/02/2016
 22   11/05/2016
 48   11/08/2016
 48   12/02/2016
 48   02/12/2017
393   02/22/2017
393   02/28/2017
555   12/15/2016
555   02/28/2017
Run Code Online (Sandbox Code Playgroud)

这个新列“结果”中有两种类型的值。
'1':如果 userid 出现在 02/01/2017 之前和 02/01/2017 或之后(两个条件都满足),则返回值是 '1'。
'0':如果不满足上述条件,则该行应赋值为 '0'。

示例 1:userid 48 在 02/01/2017 之前出现两次,在 02/01/2017 之后出现一次。因此,userid 48 的结果列中的值应为“1”,因为这两个条件都满足。
示例 2:用户 ID 393 在我们的数据中出现两次,但在两条记录中其日期都在 02/01/2017 之后。因此,用户 ID 393 的结果列中的值应为“0”。

在这种情况下,我的输出数据帧将是:

userid     date …
Run Code Online (Sandbox Code Playgroud)

python dataframe python-3.x pandas

2
推荐指数
1
解决办法
245
查看次数

Python - 替换文本中的缩写

我的数据框有数千行。
它看起来像这样:

import pandas as pd
import numpy as np
text = ['please send us a dm...','…could you please dm me','dm me plz…','i dmed u yesterday…','dm me asap thx', 'i send a dm to u now', 'thx u r so nice dming u now', 'just sent u a dm']
df = pd.DataFrame({"text": text})

          text
0   please send us a dm...
1   …could you please dm me
2   dm me plz…
3   i dmed u yesterday…
4   dm me asap thx …
Run Code Online (Sandbox Code Playgroud)

python nlp python-3.x pandas

0
推荐指数
1
解决办法
3843
查看次数

标签 统计

pandas ×2

python ×2

python-3.x ×2

dataframe ×1

nlp ×1