python - DataFrame 使用“astype”更改 DataType
问题描述
我遇到了以下问题:
我有一个数据框,我想将小数设置为固定宽度,如果我使用“apply{}”更改“列样式”,它会完美运行,但是如果我将此数据框导出为 *.txt,我会变成其他程序出错,我想在其中导入此数据集。如果我通过 *.astype(float) 进行更改,则程序能够导入数据集,但制表符和每个值的大小都会出现问题。
有没有办法使用 *.astype() 将每个值设置为固定大小?
例如,列“F [HZ]”应如下所示:30.00、10.78、10.90
感谢帮助!
解决方案
我猜您正在使用 pd.to_csv 将其保存为文本文件。在这种情况下,您可以按如下方式使用它来保存具有固定宽度的浮动数字:
df = pd.DataFrame({'F[HZ]': [30, 10.78, 10.9025], 'T[C]':[-50, -50, -50]})
df.to_csv('outfile.txt', float_format='%.2f')
此外,您还可以导入其他文件并使用 astype 将其四舍五入到小数点后两位,代码如下:
df['F[HZ]'] = df['F[HZ]'].astype(float).round(2)
如果您不希望 T[C] 为浮点数,则可以将其设置为整数类型,如下所示:
df['T[C]'] = df['T[C]'].astype(int)
要显示不同列的数据类型,您可以使用以下打印语句:
print(df.info())
推荐阅读
- python-3.x - 如何(成功)在 spyder(anaconda)上的 Python 3.6 64 位和 32 位之间切换
- java - Gradle for Java 项目中的 ClassNotFound 错误
- java - 转向 jpql 查询
- sockets - 当客户端和服务器在不同的机器上时,getsockname() 不会返回正确的地址
- command - 我添加了一个东西,如果有人离开,我的机器人会 dm,但现在我只是不断收到错误消息
- html - href=“tel:” tel 中间有 +
- php - Laravel 抛出一个自定义的 ValidationException
- c++11 - c ++在模板函数的指针中约束模板参数
- ios - 如何将现有对象保存到 Core Data
- angular - ngStyle 与指令上调用函数之间的性能