【发布时间】:2018-06-24 18:06:02
【问题描述】:
我正在使用一个数据框,我希望在其中更改国家/地区列中的条目,例如:
'Bolivia (Plurinational State of)' 应该是 'Bolivia',
'Switzerland17' 应该是'Switzerland'
我定义了以下函数:
def process(w):
for i in range(len(w)):
if w[i] in ['(', ')', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '&', '/']:
w = w[0:i]
w = ''.join(w).replace(" ", "")
break
return w
然后我使用 python apply 函数将其应用于数据框。
energy['Country'] = energy['Country'].apply(process)
虽然我已经能够实现所需的输出,但这并不完全正确。一些条目,如
大不列颠及北爱尔兰联合王国和美利坚合众国20已更改为 大不列颠及北爱尔兰联合王国和美国。
我做错了什么?还有什么是更有效、更简洁的代码来实现结果?
【问题讨论】:
-
您想从国家名称或其他内容中删除整数部分吗?
-
@Shubham Gupta,荣誉代码learner.coursera.help/hc/en-us/articles/… 声明
Your answers to homework, quizzes, and exams must be your own work -
这些链接stackoverflow.com/questions/41719259/…、stackoverflow.com/questions/20894525/… 将帮助您分道扬镳。可以和他们一起工作。
-
a=''.join([i for i in a if i.isalpha()])使用此语句来执行此操作。 -
@Dark,我当然会提交我自己的作品。我只是想知道是否有人可以为我指出一个比我明显原始的解决方案更好的解决方案。不过谢谢你的链接!
标签: python python-3.x pandas dataframe