由于某种原因,当我使用csv
导入pd.read_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
答案 0 :(得分:0)
您可以将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)
答案 1 :(得分:0)
使用dtype=
中的pd.read_csv
选项,例如
df = pd.read_csv('filename.csv', dtype={'num_followers': np.int64})
您当然可以在字典中为其他列指定dtypes。