为了账号安全,请及时绑定邮箱和手机立即绑定

难以使用合并功能

难以使用合并功能

qq_遁去的一_1 2022-01-18 15:52:28
我收到.merge()Pandas 函数的语法错误。我做错了什么,我该如何解决?以下是我的代码片段;df2 = df2.merge(df1[list('col1','col2'], on ='ABC')
查看完整描述

3 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

您需要为此使用字符串格式:


>>> for n in (9, 99, 999, 9999):

...     print(f"{n:0>4}")

... 

0009

0099

0999

9999


查看完整回答
反对 回复 2022-01-18
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

str.zfill(x) 将在任何字符串之前放置 x 个零

如果您更愿意使用字符串格式,f'{str:0x}'也可以。

PS不要命名你的字符串str,因为它会重载str



查看完整回答
反对 回复 2022-01-18
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

使用str.zfill(width):


zfill() 方法用零填充左侧的字符串以填充宽度。


width - 这是字符串的最终宽度。这是我们在填充零后得到的宽度。


id = [6, 77, 888, 9999]

print([str(x).zfill(4) for x in id])

输出:


['0006', '0077', '0888', '9999']

编辑:


要使用列表理解转换列中的列值:


import pandas as pd


df = pd.DataFrame({'un-padded':[6, 77, 888, 9999]})

df['padded'] = [str(x).zfill(4) for x in df['un-padded']]

print(df)

输出:


   un-padded padded

0          6   0006

1         77   0077

2        888   0888

3       9999   9999


查看完整回答
反对 回复 2022-01-18
  • 3 回答
  • 0 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信