Pandas:映射数据系列(float到string),而不删除尾随的零

2024-10-17 08:35:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个包含以下形式字符串的数据系列:

"%.2f +/- %.2f"

使用两个熊猫数据系列(测量值及其误差)。我是如何实现这一点的:

df["F"] = df["Fint"].map(str) + " +/- " + df["Fint Err"].map(str)

但是,map(str)会从序列中的值中删除尾随的零。在

例如,“6lambda的VLA 3”源。在

^{pr2}$
In[102]: df["Fint"].map(str)
Out[102]: 
Source  Lambda
VLA 2   6.0       0.15
        3.6       0.19
VLA 3   6.0        0.4

如何阻止后面的零被删除?在

很明显,正如您所看到的,我实际上在处理一个数据帧(但是由于map是一个数据系列函数,我认为这会简化问题),如果有什么方法可以用applymap来实现这一点,我很乐意知道。在

谢谢!在


Tags: 数据字符串inmapsourcedf序列out
1条回答
网友
1楼 · 发布于 2024-10-17 08:35:18

如果数据以浮点形式开始,那么它就没有“尾随零”。但从你的例子来看,听起来你真正想要的是让所有的数字至少有4位数长,如果需要的话加上尾随的零。试试这个:

# function that maps float->str, then pads with "0" up to length 4
to_4digit_str = lambda flt: str(flt).ljust(4,"0")


df["F"] = df["Fint"].map(str) + " +/- " + df["Fint Err"].map(to_4digit_str)

相关问题 更多 >