【发布时间】:2020-09-03 15:25:15
【问题描述】:
不确定我在这里做错了什么,但我想用 column_names 列表中的相应名称替换初始列名。
column_names = ['FIPS','Admin2','Province_State','Country_Region','Last_Update','Lat','Long_','Confirmed','Deaths','Recovered','Active','Combined_Key']
df.columns = ['Province/State', 'Country/Region', 'Last Update', 'Confirmed',
'Deaths', 'Recovered', 'Latitude', 'Longitude']
def replace_cols(df, new_columns):
k = 0
for i in df.columns:
for j in column_names:
seq = difflib.SequenceMatcher(None,i, j).ratio()*100
if seq >= 50:
newcol = re.sub(i, j, i)
df.columns.values[k] = newcol
print(newcol)
k += 1
【问题讨论】:
-
你也可以发布 df.head() 吗?
-
问题是逻辑不起作用。您计算两列之间的差异,对于纬度,它出错了。 Latitude 和 Last_Update 之间的差异大于 50(
k的增量)并继续 for 循环,Latitude 和 Lat 之间的差异大于 50,k再次增加。条件seq >= 50有风险。
标签: python replace index-error