Python 3.x 如何根据python中其他列的字符串位置创建列?
df: 如何基于字符串位置创建列,例如在列a中,我需要选中0位置创建列B 产出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,
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