используя python панды, я хочу нормализовать столбец фрейма данных на ненулевые значения - PullRequest
0 голосов
/ 03 июля 2018

У меня есть один фрейм данных, и я читаю это с Python Pandas, в этом один столбец содержит значения dictonay, и я хочу нормализовать этот столбец, т.е. я хочу разделить, и я использую это:

if 'X' in df_cols:
    def only_dict(d):
    '''
    Convert json string representation of dictionary to a 
python dict
'''
return d

A = json_normalize(df['X'].apply(only_dict).tolist()).add_prefix('X.')
df = df.drop('X', axis=1).join(A)

но в этом столбце также есть некоторые нулевые значения, поэтому я хочу применить только к столбцу, который не имеет нулевых значений, используя labmda. У кого-нибудь есть идеи, как это сделать?

1 Ответ

0 голосов
/ 03 июля 2018

Просто пример кода. Вы можете вызвать свою собственную функцию, используя функции apply и lambda. Вы можете получить доступ к любому столбцу в вашей df, используя параметр "axis = 1". Вы сохраняете результат любого преобразования в новом столбце, возвращая нужное значение в функции и сохраняя его в новом столбце.

def your_function (row): если строка [your_column]: возвращаемая строка [your_column] .split () еще: возврат Нет

df ['new_column'] = pandas.apply (лямбда-строка: ваша_функция (строка), ось = 1)

...