我有一个如下数据框。
matrix = [
[2, 5, 7],
[4, 6, 1],
[7, 3, 9]
];
for (var i in matrix) {
for (var j in matrix[i]) {
console.log(matrix[0][0 + 1]);
console.log(matrix[i][j + 1]);
}
}
因此,如果您查看第3、4、5行,则ID的长度小于6
df = pd.DataFrame([111111,123456,12345,234,12,987654],columns=['id'])
我想将其转换为以下内容(基本上在前面添加零以使其长度为6)
id
111111
123456
12345
234
12
987654
答案 0 :(得分:3)
尝试zfill
,首先将整数转换为字符串dtype,然后使用字符串访问器,然后使用zfill:
df['id'].astype(str).str.zfill(6)
输出:
0 111111
1 123456
2 012345
3 000234
4 000012
5 987654
Name: id, dtype: object
答案 1 :(得分:2)
使用
df.id.astype(str).str.pad(6,'left','0')
0 111111
1 123456
2 012345
3 000234
4 000012
5 987654
Name: id, dtype: object
答案 2 :(得分:0)
您必须将数据类型更改为字符串,否则初始零将被修剪。 下面是我的解决方案。希望对您有帮助
df = pd.DataFrame([111111,123456,12345,234,12,987654],columns=['id'])
df = df.astype(str)
df['id'] = df['id'].apply(lambda x: x if len(x)==6 else '0'*(6-len(x))+x)
df:
id
111111
123456
012345
000234
000012
987654