Python 3.x 如何根据python中其他列的字符串位置创建列?

Python 3.x 如何根据python中其他列的字符串位置创建列?,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,df: 如何基于字符串位置创建列,例如在列a中,我需要选中0位置创建列B 产出 Col_A 0 011011 1 011011 2 011011 3 011011 4 011011 首先将字符串转换为DataFrame,并在rename中按函数添加列名: Col_A Col_B 0 011011 pos1,pos4 1 000111 pos1,pos2,pos3 2 011000 pos1,

df:

如何基于字符串位置创建列,例如在列a中,我需要选中0位置创建列B

产出

    Col_A     
0   011011   
1   011011   
2   011011   
3   011011   
4   011011 

首先将字符串转换为
DataFrame
,并在
rename
中按函数添加列名:

    Col_A     Col_B
0   011011   pos1,pos4
1   000111   pos1,pos2,pos3
2   011000   pos1,pos4,pos5,pos6
3   011111   pos1
4   011010   pos1,pos4,pos6
然后比较
'0'
值by和对于新列,使用矩阵乘法by和移除分隔符by:


首先将字符串转换为
DataFrame
,并在
rename
中按函数添加列名:

    Col_A     Col_B
0   011011   pos1,pos4
1   000111   pos1,pos2,pos3
2   011000   pos1,pos4,pos5,pos6
3   011111   pos1
4   011010   pos1,pos4,pos6
然后比较
'0'
值by和对于新列,使用矩阵乘法by和移除分隔符by:


为什么在输出数据中更改A列?请重新格式化您的问题。这个问题很难理解,也不清楚。为什么在输出数据中更改A列?请重新格式化您的问题。这个问题很难理解,也不清楚。替换以避免额外的
.str.rstrip
[','。在df1.eq('0')中为掩码连接(df1.columns[mask])。到_numpy()]
替换以避免额外的
.str.rstrip
[','。在df1.eq('0')中为掩码连接(df1.columns[mask])。到
df['Col_B'] = df1.eq('0').dot(df1.columns + ',').str.rstrip(',')
print (df)

    Col_A                Col_B
0  011011            pos1,pos4
1  000111       pos1,pos2,pos3
2  011000  pos1,pos4,pos5,pos6
3  011111                 pos1
4  011010       pos1,pos4,pos6