如何使用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)