Я создаю словарь из 2 столбцов. Значение в моей таблице нужно разделить на lat и long, а затем поместить обратно в словарь

#python #pandas #dataframe #dictionary

Вопрос:

Это информация, которую я помещаю в свой словарь.

введите описание изображения здесь

Широту и долготу необходимо разделить. Код, который я пытался использовать, выглядит следующим образом:

 for filelist in glob.glob(vol_rawdata_path):
    df = pd.read_excel(filelist,header=None,sheet_name="Summary")
    df.rename(columns={0:'Name'}, inplace = True)
    df.rename(columns={1:'definition'}, inplace = True)
    df = df.dropna()
    coordinate = df.iat[8,1].split(',')
    latitude = coordinate[0]
    longitude = coordinate[1]
    volSumDiction = pd.Series(df.definition.values,index=df.Name).to_dict()
    values = list(volSumDiction)
    values = values[7]
    print(values)
 

Я понимаю, что называть координаты, широту и долготу-неправильный подход, но я не смог найти решение этого препятствия.

Комментарии:

1. Какую ошибку вы получаете?

2. Похоже, вы извлекаете lat и lng, но не присваиваете их своему фрейму данных.

Ответ №1:

Вы можете вставить значения в каждой строке в словарь, обратившись к нему следующим образом,

 for filelist in glob.glob(vol_rawdata_path):
    df = pd.read_excel(filelist,header=None,sheet_name="Summary")
    df.rename(columns={0:'Name'}, inplace = True)
    df.rename(columns={1:'definition'}, inplace = True)
    df = df.dropna()
    volSumDiction = pd.Series(df.definition.values,index=df.Name).to_dict()
    coordinate = df.iat[8,1].split(',')
    volSumDiction['latitude'] = coordinate[0]
    volSumDiction['longitude'] = coordinate[1]
    values = list(volSumDiction)
    values = values[7]
    print(values)
 

Комментарии:

1. однако, когда я это делаю, я не могу добавить данные в volSumDiction. ‘volSumDiction[«широта»] = данные[0] volSumDiction[«долгота»] = данные[1] volSumTable = volSumTable.добавить(volSumDiction, ignore_index=True)’

2. @joshuah9 снова обновил мой код. работает ли это?