小编E. *_*mer的帖子

按元素检查字符串是否存在

我正在寻找一种方法来检查一个字符串是否可以在另一个字符串中找到。str.contains仅采用固定字符串模式作为参数,我宁愿在两个字符串列之间进行按元素比较。

import pandas as pd

df = pd.DataFrame({'long': ['sometext', 'someothertext', 'evenmoretext'],
               'short': ['some', 'other', 'stuff']})


# This fails:
df['short_in_long'] = df['long'].str.contains(df['short'])
Run Code Online (Sandbox Code Playgroud)

预期输出:

[True, True, False]
Run Code Online (Sandbox Code Playgroud)

python string pandas

6
推荐指数
1
解决办法
1154
查看次数

映射pandas数据帧中的值范围

如果之前有人问过这个问题,我会道歉,但我看起来很广泛而没有结果.

import pandas as pd    
import numpy as np    
df = pd.DataFrame(data = np.random.randint(1,10,10),columns=['a'])    

   a
0  7
1  8
2  8
3  3
4  1
5  1
6  2
7  8
8  6
9  6
Run Code Online (Sandbox Code Playgroud)

我想根据一些规则创建一个新的列b来映射几个值a,比如a = [1,2,3]是1,a = [4,5,6,7]是2,a = [8 ,9,10]是3.一对一的映射对我来说很清楚,但是如果我想通过值列表或范围进行映射呢?

我沿着这些方向努力......

df['b'] = df['a'].map({[1,2,3]:1,range(4,7):2,[8,9,10]:3})
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

5
推荐指数
2
解决办法
7979
查看次数

标签 统计

pandas ×2

python ×2

dataframe ×1

string ×1