我有一段适用于一个数据帧的代码块,但是,我有一个包含 23 个数据帧的列表,我想应用相同的代码。
我尝试列出所有数据帧,然后通过 for 循环将代码应用于每个数据帧,但我收到了长度错误消息。
这是代码块:
city_arr=[]
county_arr=[]
town_arr=[]
municipality_arr=[]
state_arr=[]
country_arr=[]
for i in range(len(df)):
if 'address' in df['address'][i].raw:
address = df['address'][i].raw.get("address", None)
city = address.get('city', '')
town = address.get('town', '')
municipality = address.get('municipality', '')
county = address.get('county','')
state = address.get('state','')
country = address.get('country','')
city_arr.append(city)
state_arr.append(state)
town_arr.append(town)
municipality_arr.append(municipality)
country_arr.append(country)
county_arr.append(county)
df['city'] = city_arr
df['county'] = county_arr
df['town'] = town_arr
df['municipality'] = municipality_arr
df['state'] = state_arr
df['country'] = country_arr
答案 0 :(得分:1)
def my_func(df):
"""All the code in your example"""
return(df)
for dataframe in dataframes:
dataframe = my_func(dataframe)
如果你以这种方式使用一个函数,你应该不会遇到长度问题。这个问题很可能是因为您的数据帧长度不同,并且您将大小不同的列附加到相关数据帧。