如果不是特定长度,则将 0 追加到数据帧字符串列



我有一个列为object的数据帧。

如何将";0";在长度为4的串的末端。

Column
12356
1287
23868
5643
45634

如果宽度小于指定的:,则可以使用str.ljustwhick将字符串应该是的width和要填充的字符(在字符串右侧(作为第一个参数

df['col'] = df['col'].str.ljust(width=5, fillchar='0')
print(df)
col
0  12356
1  12870
2  23868
3  56430
4  45634

数据设置:

import pandas as pd
df = pd.DataFrame(
{'col':'12356 1287 23868 5643 45634'.split()}
,dtype=('object'))
col
0  12356
1   1287
2  23868
3   5643
4  45634

使用列表理解可以完成另一种方法

import pandas as pd
df = pd.DataFrame(
{'col': '12356 1287 23868 5643 45634'.split()}
, dtype=('object'))
df['col'] = [i + '0' if len(i) == 4 else i for i in df['col']]

输出col:

col
0  12356
1  12870
2  23868
3  56430
4  45634

最新更新