python - Pandas 以科学计数法读取整数列

标签 python pandas

出于某种原因,当我使用 pd.read_csv 导入我的 csv 文件时,我的整数列之一(关注者数量)以科学记数法读取,即使我的值是整数,显然不是科学计数法。

请看下面我调用 df["num_followers"].describe()

时看到的内容

我已经查看了此处关于“禁止科学记数法”的所有答案,但没有找到任何有效的解决方案。

df['num_followers'].apply(lambda x: '{:.2f}'.format(x)) 只是将我的值转换为 str。我尝试转换为 astype("float") 但没有成功,值仍然采用科学计数法,这打乱了我的计算。有什么想法可以将其更改为 int 吗?

count    1.200000e+02
mean     4.959472e+04
std      3.816126e+05
min      0.000000e+00
25%      6.725000e+01
50%      2.165000e+02
75%      5.932500e+02
max      4.021842e+06
Name: num_followers, dtype: float64

编辑

我尝试了以下答案之一,也没有成功:

IN: df_train = pd.read_csv("social_media_train.csv", index_col = [0])
df_train["num_followers"].describe()

OUT: count    5.760000e+02
mean     8.530724e+04
std      9.101485e+05
min      0.000000e+00
25%      3.900000e+01
50%      1.505000e+02
75%      7.160000e+02
max      1.533854e+07
Name: num_followers, dtype: float64

IN: df_train['num_followers'] = df_train['num_followers'].apply(np.int64)
df_train["num_followers"].describe()

OUT:count    5.760000e+02
mean     8.530724e+04
std      9.101485e+05
min      0.000000e+00
25%      3.900000e+01
50%      1.505000e+02
75%      7.160000e+02
max      1.533854e+07
Name: num_followers, dtype: float64

最佳答案

您可以将 np.int64 与 apply ( https://docs.scipy.org/doc/numpy-1.10.1/user/basics.types.html ) 结合使用。

import numpy as np

df['num_followers'] = df['num_followers'].apply(np.int64)

关于python - Pandas 以科学计数法读取整数列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55534117/

相关文章:

python - 将除第一列(索引列或纪元日期时间)之外的所有列乘以 100

python - 在没有 Pandas 的情况下正确导入matplotlib

python - 移动和翻转位

带有空格填充的python结构包

python - 在Python中使用后释放缓冲区空间?

python - Pandas :折叠多索引数据框中的行

python - 在 Python 中创建 headless Chrome 实例

python - 如何在后台放置一个进程,使其不会中断我的返回?

python - pdflatex 在大量数字后挂起

python - 我如何一次对两个不同的列求和,其中一个列包含 pandas 中的 Decimal 对象?