df 更改科学计数法
时间: 2025-05-10 10:49:34 浏览: 22
### 更改Pandas DataFrame显示格式
为了确保Pandas DataFrame中的数值不会以科学计数法的形式展示,可以通过设置`pandas.options.display.float_format`选项来实现。这会改变整个Session中DataFrame的浮点数显示方式。
```python
import pandas as pd
# 设置浮点数格式化为字符串形式,防止科学计数法
pd.set_option('display.float_format', lambda x: '%.f' % x)
# 创建一个包含大整数的数据框作为例子
df_example = pd.DataFrame({
'ID': [123456789012, 234567890123, 345678901234],
'Value': [12345678901234567890, 9876543210987654321, 4567890123456789012]
})
print(df_example)
```
对于特定列而言,在读取Excel或CSV文件时也可以通过指定数据类型的方式来避免自动转换成浮点数并采用科学计数表示:
当从Excel导入数据时,可以利用`dtype`参数强制指定位宽较大的整型或其他适合存储长串数字(如身份证号、手机号)的数据类型:
```python
# 导入Excel时不使用默认推断类型而是显式定义某些列为字符串类型
df_from_excel = pd.read_excel(
"example.xlsx",
dtype={'Phone Number': str,'ID Card No.':str}
)
```
同样地,在处理CSV文件时也能这样做:
```python
# 导入CSV文件时设定特定列为字符串类型
df_from_csv = pd.read_csv(
"data.csv",
dtype={"large_number_column": str},
encoding='utf-8'
)
```
此外,还可以调整单次输出的结果样式而不影响全局配置,比如在打印某个Series对象之前临时修改其显示属性:
```python
with pd.option_context('display.float_format', '{:.0f}'.format):
print(some_series_with_large_numbers)
```
阅读全文
相关推荐


















