gpt4 book ai didi

python - 如何删除 Pandas Dataframe 中特定列仅包含数字的行?

转载 作者:太空宇宙 更新时间:2023-11-03 14:40:48 25 4
gpt4 key购买 nike

假设我有这个 DF:

ID     IGName          Date_created
0 BananaMan 09/10/2018
1 Superman247 10/10/2009
2 123456789 08/03/2011
3 Nameless101 07/12/2012

我希望能够删除 DF 中IGName 仅为数字的所有行。

就像本例中的那样,第 3 行全是数字。我希望能够保留名称字母数字行,而不是仅包含数字的行。

我希望结果看起来像这样:

ID     IGName          Date_created
0 BananaMan 09/10/2018
1 Superman247 10/10/2009
3 Nameless101 07/12/2012

最佳答案

你可以这样做:

import pandas as pd


data = [[0, 'BananaMan', '09/10/2018'],
[1, 'Superman247', '10/10/2009'],
[2, '123456789', '08/03/2011'],
[3, 'Nameless101', '07/12/2012']]

df = pd.DataFrame(data=data, columns=['ID', 'IGName', 'Date_created'])

df = df[~df['IGName'].str.isnumeric()]

print(df)

输出

   ID       IGName Date_created
0 0 BananaMan 09/10/2018
1 1 Superman247 10/10/2009
3 3 Nameless101 07/12/2012

来自 documentation :

Check whether all characters in each string in the Series/Index are numeric. Equivalent to str.isnumeric().

请注意,此解决方案假定列 'IGName' 是字符串类型,否则您需要将其转换为字符串,执行类似(如@RafaelC 所述)的操作:

df['IGName'] = df['IGName'].astype(str)

关于python - 如何删除 Pandas Dataframe 中特定列仅包含数字的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53384890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com