Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在数据帧中将数字转换为特定字符串格式_Python_Python 3.x_Pandas_Dataframe_String Formatting - Fatal编程技术网

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