用 Python 编写一个程序,通过删除给定数据框中的唯一前缀来过滤城市列元素
pythonpandasserver side programmingprogramming更新于 2024/6/23 6:36:17
假设您有一个数据框,删除唯一前缀城市名称的结果是,
Id City 2 3 Kolkata 3 4 Hyderabad 6 7 Haryana 8 9 Kakinada 9 10 Kochin
为了解决这个问题,我们将遵循下面给出的步骤 −
解决方案
定义一个数据框
创建一个空列表以将所有城市列值附加到第一个字符,
l = [] for x in df['City']: l.append(x[0])
创建另一个空列表以过滤重复的字符。
设置 for 循环和 if 条件以附加唯一字符。定义如下,
l1 = [] for j in l: if(l.count(j)>1): if(j not in l1): l1.append(j)
创建另一个空列表。设置 for 循环以访问 city 列值并检查元素 first char 是否存在于 l1 中,然后将其附加到另一个列表中。
l2 = [] for x in df['City']: if(x[0] in l1): l2.append(x)
最后,验证 l2 元素是否存在于 city 列中,并使用 isin() 打印数据框。
df[df['City'].isin(l2)]
示例
让我们检查以下代码以获得更好的理解 −
import pandas as pd
df = pd.DataFrame({'Id':[1,2,3,4,5,6,7,8,9,10],
'City':['Chennai','Delhi','Kolkata','Hyderabad','Pune','Mumbai','Haryana','B engaluru','Kakinada','Kochin']
})
l = []
for x in df['City']:
l.append(x[0])
l1 = []
for j in l:
if(l.count(j)>1):
if(j not in l1):
l1.append(j)
l2 = []
for x in df['City']:
if(x[0] in l1):
l2.append(x)
print(df[df['City'].isin(l2)])
输出
Id City 2 3 Kolkata 3 4 Hyderabad 6 7 Haryana 8 9 Kakinada 9 10 Kochin
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/
打印
下一节:用 Python 编写一个程序来生成一系列偶数(长度)的随机四位数密码。从用户那里获取长度并询问直到有效 ❯❮ 上一节:用 Python Pandas 编写一个程序,将数据框中的摄氏数据列转换为华氏温度

