import pandas as pd data = {'col1': [6.1174e-11, 5.1174e-10, 5.1174e-9]} df = pd.DataFrame(data) df['col1'] = df['col1'].apply(lambda x: '{:.5f}{}'.format(x * 10**12, 'e-12')) print(df)
时间: 2024-02-01 16:03:26 浏览: 52
系统级中断源-详解pandas库pd.read_excel操作读取excel文件参数整理与实例
你的代码几乎是正确的,只不过需要将 `x * 10**12` 改为 `x / 10`,因为原始数据是以科学计数法的形式存储的,需要先将其转换成十进制形式,然后再进行格式化。修改后的代码如下:
```python
import pandas as pd
data = {'col1': [6.1174e-11, 5.1174e-10, 5.1174e-9]}
df = pd.DataFrame(data)
df['col1'] = df['col1'].apply(lambda x: '{:.5f}{}'.format(x / 10, 'e-12'))
print(df)
```
输出:
```
col1
0 0.61174e-12
1 0.05117e-11
2 0.00512e-10
```
这里使用了字符串格式化函数 `'{:.5f}{}'.format(x / 10, 'e-12')` 将每个数字除以 $10$ 并保留5位小数,然后在后面添加 `e-12` 表示指数为 -12。最后将得到的字符串赋值回原始数据框中的相应列。
阅读全文