只保留包含字符串列表中的字符串的 df 列值

Ali*_*Zia 6 python dataframe python-3.x pandas python-re

我有一个像这样的字符串列表:

stringlist = [JAN, jan, FEB, feb, mar]
Run Code Online (Sandbox Code Playgroud)

我有一个如下所示的数据框:

**date**            **value**
01MAR16                1
05FEB16                12
10jan17                5
10mar15                9
03jan05                7
04APR12                3
Run Code Online (Sandbox Code Playgroud)

我只想保留包含 stringlist 中一个字符串的日期,结果应如下所示:

**date**            **value**
NA                     1
05FEB16                12
10jan17                5
10mar15                9
03jan05                7
NA                     3
Run Code Online (Sandbox Code Playgroud)

我刚开始使用正则表达式,因此在解决它时遇到了一些麻烦,希望得到一些帮助。

And*_*ely 5

stringlist = ["JAN", "jan", "FEB", "feb", "mar"]

m = df["date"].str.contains("|".join(stringlist))
df.loc[~m, "date"] = np.nan
print(df)
Run Code Online (Sandbox Code Playgroud)

印刷:

stringlist = ["JAN", "jan", "FEB", "feb", "mar"]

m = df["date"].str.contains("|".join(stringlist))
df.loc[~m, "date"] = np.nan
print(df)
Run Code Online (Sandbox Code Playgroud)