使用Python熊猫我想规范非空值的数据框列

时间:2018-07-03 06:14:15

标签: python pandas normalize

我有一个数据框,我正在用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应用于不具有空值的列,有人知道怎么做吗?

1 个答案:

答案 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)