栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Pandas入门——数据类型

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Pandas入门——数据类型

1、Series dtype

Pandas 用 object 存储字符串,当对象单列中含多种类型的数据时,该列的数据类型通常为 object。

s = pd.Series([1, 3, 'a', 'foo', 'True'], index=['b', 'c', 'a', 'd', 'e'])
print(s.dtype)
object

当与其他类型合并时,会强制向上转型,如从int变为float。

s1 = pd.Series([1, 3, 2, 5, 9.0], index=['b', 'c', 'a', 'd', 'e'])
b    1.0
c    3.0
a    2.0
d    5.0
e    9.0
dtype: float64
astype()
s = pd.Series([1, 3, 2, 5, 9.0], index=['b', 'c', 'a', 'd', 'e'])
print(s.astype('float32'))
b    1.0
c    3.0
a    2.0
d    5.0
e    9.0
dtype: float32
float64
2、Dataframe dtypes

Dataframe 的dtypes 属性用起来很方便,以 Series 形式返回每列的数据类型。

dft = pd.Dataframe({'A': np.random.rand(3),
                    'B': 1,
                    'C': 'foo',
                    'D': pd.Timestamp('20010102'),
                    'E': pd.Series([1.0] * 3).astype('float32'),
                    'F': False,
                    'G': pd.Series([1] * 3, dtype='int8')})
print(dft.dtypes)
          A  B    C          D    E      F  G
0  0.336347  1  foo 2001-01-02  1.0  False  1
1  0.664647  1  foo 2001-01-02  1.0  False  1
2  0.450123  1  foo 2001-01-02  1.0  False  1

A           float64
B             int64
C            object
D    datetime64[ns]
E           float32
F              bool
G              int8
dtype: object
astype() 
dft[['A', 'B']] = dft[['A', 'B']].astype('float64')
print(dft.dtypes)
A           float64
B           float64
C            object
D    datetime64[ns]
E           float32
F              bool
G              int8
dtype: object

还可以通过字典指定哪些列转换为哪些数据类型,astype()默认操作为复制数据,就算数据类型没有改变也会复制数据,因此不改变数据类型的列会被保留。但如果先选中列再改变数据类型,则返回的结果只有选中的列。

dft1 = dft[['A', 'B']].astype('float64')
dft2 = dft.astype({'A': 'bool', 'B': 'float64'})
A    float64
B    float64
dtype: object

A              bool
B           float64
C            object
D    datetime64[ns]
E           float32
F              bool
G              int8
dtype: object
to_numpy().dtype

 返回多个数据类型中用的最多的数据类型。

dtypes.value_counts()

统计Dataframe中不同数据类型的列数。

print(dft.dtypes.value_counts())
float64           1
int64             1
object            1
datetime64[ns]    1
float32           1
bool              1
int8              1
dtype: int64

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/283673.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号