enter image description here应用以下代码时,我在QSTS_ID的整个列中都得到NAN值
df['QSTS_ID'] = df['QSTS_ID'].str.split('.',expand=True)
df
我想复制整个QSTS_ID列并将其附加在末尾。我还必须用句号分隔它并应用新的标题
最佳答案
问题是,如果添加参数expand=True
它返回具有一列或多列的DataFrame
,那么分配return NaN
s。
解决方案是将具有join
或concat
的新列添加到原始DataFrame
,也add_prefix
用于更改新列的名称:
df = df.join(df['QSTS_ID'].str.split('.',expand=True).add_prefix('QSTS_ID_'))
df = pd.concat([df, df['QSTS_ID'].str.split('.',expand=True).add_prefix('QSTS_ID_')], axis=1)
如果还需要删除原始列:
df = df.join(df.pop('QSTS_ID').str.split('.',expand=True).add_prefix('QSTS_ID_'))
df = pd.concat([df,
df.pop('QSTS_ID').str.split('.',expand=True).add_prefix('QSTS_ID_')], axis=1)
样品:
df = pd.DataFrame({
'QSTS_ID':['val_k.lo','val2.s','val3.t'],
'F':list('abc')
})
df1 = df['QSTS_ID'].str.split('.',expand=True).add_prefix('QSTS_ID_')
df = df.join(df1)
print (df)
QSTS_ID F QSTS_ID_0 QSTS_ID_1
0 val_k.lo a val_k lo
1 val2.s b val2 s
2 val3.t c val3 t
#check columns names of new columns
print (df1.columns)
关于python - 我想提取QSTS_ID列并以句号分隔,并将其作为单独的列附加到现有列表中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54230122/