如果字段在拆分()时为 NaN,如何向列添加值



如何使用Pandas将字段的值设置为NaN。

有一个电子表格文件作为输入,其中一列有空值,我用 NaN 值填充了这些值。

我正在尝试用后缀拆分名字。我确实使用了str.split((。但是由于有 NaN 值字段。

我遇到了这个错误。

值错误:列的长度必须与键相同

这是我的示例数据帧。

input_data = { ["约翰三世","斯诺"],[","],["约翰","斯诺"]}

这是我的预期输出

expected_output = {["约翰","斯诺","III"],[

",","],["约翰","雪","]}

这是我的示例代码

df[[fname[0][0],fname[1][0]]] = df[column].str.split('&', expand=True, n=1)
df.applymap(lambda x: x.strip() if type(x) is str else x)
df.fillna(value=pd.np.nan, inplace=True)
df[[fname[0][0],fname[0][2]]] = df[fname[0][0]].str.split('s+(?=Jr|Sr|JR|SR|II|III|IV)', expand=True, n=1)

我只是熊猫和Numpy的新手。

你可以这样做:

input_data = [['John III', 'Snow'], ['', ''], ['John', 'Snow']]
split_data = [[k for j in i for k in j.split()] for i in input_data]
#[['John', 'III', 'Snow'], [], ['John', 'Snow']]
df = pd.DataFrame(split_data).fillna('')
#      0     1     2
#0  John   III  Snow
#1                  
#2  John  Snow      
df.values
#array([['John', 'III', 'Snow'],
#       ['', '', ''],
#       ['John', 'Snow', '']], dtype=object)

最新更新