首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从数据提取特征

从数据提取特征
EN

Stack Overflow用户
提问于 2022-03-11 07:01:56
回答 2查看 56关注 0票数 1

我有这样的熊猫数据

代码语言:javascript
复制
    ID  Phone          ex

0   1   5333371000     533
1   2   5354321938     535
2   3   3840812        384
3   4   5451215        545
4   5   2125121278     212

例如,如果"ex“开始使用533,535,545个新变量,则应:

样本输出:

代码语言:javascript
复制
   ID    Phone         ex          iswhat

0   1   5333371000     533         personal
1   2   5354321938     535         personal
2   3   3840812        384         notpersonal
3   4   5451215        545         personal
4   5   2125121278     212         notpersonal

我怎么能这么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-11 07:05:36

您可以使用np.where

代码语言:javascript
复制
df['iswhat'] = np.where(df['ex'].isin([533, 535, 545]), 'personal', 'not personal')
print(df)

# Output
   ID       Phone   ex        iswhat
0   1  5333371000  533      personal
1   2  5354321938  535      personal
2   3     3840812  384  not personal
3   4     5451215  545      personal
4   5  2125121278  212  not personal

更新

还可以直接使用Phone列:

代码语言:javascript
复制
df['iswhat'] = np.where(df['Phone'].astype(str).str.match('533|535|545'), 
                        'personal', 'not personal')

注意:如果Phone列包含字符串,则可以安全地删除.astype(str)

票数 2
EN

Stack Overflow用户

发布于 2022-03-11 07:05:14

我们可以使用np.wherestr.contains

代码语言:javascript
复制
df["iswhat"] = np.where(df["ex"].str.contains(r'^(?:533|535|545)$'),
                        'personal', 'notpersonal')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71434729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档