我有一个数据框,我正在用pandas python读取它,因为其中一列包含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应用于不具有空值的列,有人知道怎么做吗?
答案 0 :(得分:1)
只是一个代码示例。您可以使用apply和lambda函数调用自己的函数。您可以使用参数“ axis = 1”访问df中的任何列。您可以将任何转换的结果存储在新列中,并在函数中返回所需的值,并将其存储在新列中。
def your_function(row): 如果row [your_column]: 返回行[your_column] .split() 其他: 不返回
df ['new_column'] = pandas.apply(lambda行:your_function(row),axis = 1)