Python 在数据帧中将数字转换为特定字符串格式
我需要运行一个可以通过循环完成的任务,但我认为有一种更有效、更漂亮的方法来完成。我有一个Python 在数据帧中将数字转换为特定字符串格式,python,python-3.x,pandas,dataframe,string-formatting,Python,Python 3.x,Pandas,Dataframe,String Formatting,我需要运行一个可以通过循环完成的任务,但我认为有一种更有效、更漂亮的方法来完成。我有一个DataFrame,它有一个整数列,我想将其转换为4位字符串表示形式。也就是说,3应转换为“0003”,234应转换为“0234”。我正在寻找一种向量操作,它可以一次对列中的所有条目执行此操作,只需简单的代码即可快速完成。您可以使用以下方法: 演示: 也可以使用方法和包装在lambda函数中的f字符串来执行此操作: [1]中的:将熊猫作为pd导入 在[2]中:df=pd.DataFrame({'a':[1,2
DataFrame
,它有一个整数列,我想将其转换为4位字符串表示形式。也就是说,3应转换为“0003”,234应转换为“0234”。我正在寻找一种向量操作,它可以一次对列中的所有条目执行此操作,只需简单的代码即可快速完成。您可以使用以下方法:
演示:
也可以使用方法和包装在lambda函数中的f字符串来执行此操作: [1]中的
:将熊猫作为pd导入
在[2]中:df=pd.DataFrame({'a':[1,2],'b':[3234]})
In[3]:df
出[3]:
a b
0 1 3
1 2 234
在[4]中:df['b']=df['b'].apply(lambda x:f“{x:04d}”)
In[5]:df
出[5]:
a b
0 1 0003
1 2 0234
在f字符串中,表示“用四个字符对字段进行零填充,并使其成为带符号的base-10整数”。我第一次看到这一个,nice@MaxU+1Nice,但在int列转换为string后应用转换。从技术上讲,它不能回答这个问题。@jpmartineau,OP问:“我想把它转换成4位字符串表示法”——我想它正好回答了这个问题
df['column_name'] = df['column_name'].astype(str).str.zfill(4)
In [29]: df = pd.DataFrame({'a':[1,2], 'b':[3,234]})
In [30]: df
Out[30]:
a b
0 1 3
1 2 234
In [31]: df['b'] = df['b'].astype(str).str.zfill(4)
In [32]: df
Out[32]:
a b
0 1 0003
1 2 0234