In [180]: df
Out[180]:
Gender Salary
0 F $3283
1 M $6958
2 F $3721
3 F $7732
4 M $7198
5 F $5475
6 F $7410
7 M $8673
8 F $8582
9 M $4115
10 F $8658
11 F $6331
12 M $6174
13 F $6261
14 M $6212
In [181]: df.dtypes
Out[181]:
Gender object
Salary object
dtype: object
让我们移除前导$,并将Salary转换为int:
In [182]: df.Salary = df.Salary.str.lstrip('$').astype(int)
In [183]: df.dtypes
Out[183]:
Gender object
Salary int32
dtype: object
以及您的Gender列:
In [186]: df.Gender = df.Gender.astype('category')
In [187]: df.dtypes
Out[187]:
Gender category
Salary int32
dtype: object
您将categorical数据类型与strings混淆(pandas将其显示为
object
)。数字不能包含
$
美元符号,因为pandas认为Salary
列是字符串,这是正确的行为!如果需要,可以很容易地将薪资列转换为整数/浮动:
让我们移除前导
$
,并将Salary
转换为int
:以及您的
Gender
列:相关问题 更多 >
编程相关推荐