首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫过滤栏的长度

熊猫过滤栏的长度
EN

Stack Overflow用户
提问于 2022-05-07 19:33:29
回答 2查看 27关注 0票数 0

我在dataframe中有一个列,其中包含用于机场的IATA_Codes (缩写)(例如: LAX、SFO、.)但是,如果我对列值进行更多的分析(column.unique()),就会发现其中也有4位数字。如何过滤列,使我的数据报只包含包含真正机场代码的行?

我的想法是过滤长度(机场代码长度总是3,而数字长度总是4),但是我不知道如何实现这个想法。

代码语言:javascript
复制
array(['LFT', 'HYS', 'ELP', 'DVL', 'ISP', 'BUR', 'DAB', 'DAY', 'GRK',
       'GJT', 'BMI', 'LBE', 'ASE', 'RKS', 'GUM', 'TVC', 'ALO', 'IMT',
...
       10170, 11577, 14709, 14711, 12255, 10165, 10918, 15401, 13970,
       15497, 12265, 14254, 10581, 12016, 11503, 13459, 14222, 14025,
       '10333', '14222', '14025', '13502', '15497', '12265'], dtype=object)
EN

回答 2

Stack Overflow用户

发布于 2022-05-07 19:36:27

您可以使用df.columns.str.len获取长度,并将其传递到df.loc的第二个索引器位置。

代码语言:javascript
复制
df = df.loc[:, df.columns.astype(str).str.len() == 3]
票数 0
EN

Stack Overflow用户

发布于 2022-05-07 19:48:21

另一种可能是使用lambda表达式:

代码语言:javascript
复制
df[df['IATA_Codes'].apply(lambda x : len(str(x))==3)]['IATA_Codes'].unique()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72155816

复制
相关文章

相似问题

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