相关疑难解决方法(0)

使用dict重新映射pandas列中的值

我有一个字典,看起来像这样: di = {1: "A", 2: "B"}

我想将它应用于数据帧的"col1"列,类似于:

     col1   col2
0       w      a
1       1      2
2       2    NaN
Run Code Online (Sandbox Code Playgroud)

要得到:

     col1   col2
0       w      a
1       A      2
2       B    NaN
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能做到最好?出于某种原因谷歌搜索与此相关的术语只显示了如何从dicts制作列的链接,反之亦然: - /

python dictionary remap pandas

260
推荐指数
6
解决办法
21万
查看次数

Pandas过滤串联的多个子串

我需要过滤pandas数据框中的行,以便特定的字符串列包含至少一个提供的子字符串列表.子字符串可能包含异常/正则表达式字符.比较不应涉及正则表达式,并且不区分大小写.

例如:

lst = ['kdSj;af-!?', 'aBC+dsfa?\-', 'sdKaJg|dksaf-*']
Run Code Online (Sandbox Code Playgroud)

我目前正在应用这样的面具:

mask = np.logical_or.reduce([df[col].str.contains(i, regex=False, case=False) for i in lst])
df = df[mask]
Run Code Online (Sandbox Code Playgroud)

我的数据帧很大(约1十亿行),lst长度为100.是否有更有效的方法?例如,如果lst找到第一个项目,我们不应该测试该行的任何后续字符串.

python string series dataframe pandas

30
推荐指数
2
解决办法
6942
查看次数

标签 统计

pandas ×2

python ×2

dataframe ×1

dictionary ×1

remap ×1

series ×1

string ×1