我有以下数据帧:
import pandas as pd
import numpy as np
d={'P':['A[55]','B','C[98]"'],
'Q':['C[89]','F[98]','K[97]'],
'S':['B[89]',67,98],
'id':['a','b','c']
}
df=pd.DataFrame(data=d)
如何只在[]
中放置选定列的数据,即“p”和“Q”。你知道吗
身份证应该这样留下。你知道吗
预期产量:
P Q S id
55 89 89 a
np.nan 98 np.nan b
98 97 np.nan c
如果先对数据进行堆栈,则可以通过一个
str.extract
操作处理所有列。你知道吗细节
首先,将数据转换成字符串并叠加
然后可以使用
str.extract
提取数字:然后,取消堆叠并重新分配。你知道吗
使用
extract
获取数字,并将其他数字更改为NaN
。如果列数较多,则可以迭代每列:相关问题 更多 >
编程相关推荐