我有一个数据帧如下。我想连接前两列。你知道吗
<13
,那么我想在中间加0,这样长度就变成13。你知道吗>=13
,那么我只想连接。你知道吗d = {'col1': [123456, 2, 1234567], 'col2': [1234567, 4, 1234567]}
df = pd.DataFrame(data=d)
df
df['var3'] = df.col1.astype(str) + df.col1.astype(str)
df
在第二行的情况下,我想要2和2之间的110,而不是'22'。
我想保持第三行不变,因为连接的长度是>13
。你知道吗
对于每行,创建一个具有3个值的元组:
字符串1
字符串2
两个字符串的长度与13(或任何目标长度)之间的差
然后使用字符串方法
ljust
将左字符串填充为0,并将其添加到右字符串中。将所有内容分配给新列。你知道吗在执行其他操作之前,可能需要将数字转换为字符串,因此我假设
col1
和col2
是字符串。你知道吗首先,找出组合的字符串长度以及缺少多少个零:
然后生成必要的填充并连接列和填充:
相关问题 更多 >
编程相关推荐