python的numpy pandas库

本文介绍了Python中的numpy库,包括创建array、指定数据类型、操作数组以及数据分割等;同时讲解了pandas的Series和DataFrame,包括数据结构、创建及处理缺失数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

numpy

print(array.ndim)维度

print(array.shape)行数列数

print(‘size:’,array.size) # 元素个数

a = np.array([1,2,3])创建array

a = np.array([2,23,4],dtype=np.int32)指定数据类型

a = np.zeros((3,4))全零

a = np.ones((3,4), dtype=np.int)全一

a = np.empty((3,4))全空(每个值基本都是接近0)

a = np.arange(10,20,2)从10-18 2为间隔

a = np.arange(12).reshape((3,4))改变数据形状

a = np.linspace(1,10,100)分割数据,也可以进行reshape

array是输入的是啥就是啥
arange输入的从啥到啥中间就是连续的

argmin() 和 argmax() 两个函数分别对应着求矩阵中最小元素和最大元素的索引

vertical stack本身属于一种上下合并
horizontal stack左右合并
print(A[np.newaxis,:])转置操作

concatenate函数累加
axis参数很好的控制了矩阵的纵向或是横向打印

print(np.split(A, 2, axis=1))
纵向分割
print(np.split(A, 3, axis=0))
横向分割

= 的赋值方式会带有关联性
copy() 的赋值方式没有关联性

pandas

Series的字符串表现形式为:索引在左边,值在右边。由于我们没有为数据指定索引。于是会自动创建一个0到N-1(N为长度)的整数型索引。

import pandas as pd
import numpy as np
s = pd.Series([1,3,6,np.nan,44,1])

print(s)
“”"
0 1.0
1 3.0
2 6.0
3 NaN
4 44.0
5 1.0
dtype: float64
“”"

DataFrame是一个表格型的数据结构,它包含有一组有序的列,每列可以是不同的值类型(数值,字符串,布尔值等)。DataFrame既有行索引也有列索引, 它可以被看做由Series组成的大字典。
dates = pd.date_range(‘20160101’,periods=6)
df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=[‘a’,‘b’,‘c’,‘d’])

print(df)
“”"
a b c d
2016-01-01 -0.253065 -2.071051 -0.640515 0.613663
2016-01-02 -1.147178 1.532470 0.989255 -0.499761
2016-01-03 1.221656 -2.390171 1.862914 0.778070
2016-01-04 1.473877 -0.046419 0.610046 0.204672
2016-01-05 -1.584752 -0.700592 1.487264 -1.778293
2016-01-06 0.633675 -1.414157 -0.277066 -0.442545
“”"
建立矩阵
我们建立了一个 6X4 的矩阵数据。

dates = pd.date_range(‘20130101’, periods=6)
df = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates, columns=[‘A’,‘B’,‘C’,‘D’])

“”"
A B C D
2013-01-01 0 1 2 3
2013-01-02 4 5 6 7
2013-01-03 8 9 10 11
2013-01-04 12 13 14 15
2013-01-05 16 17 18 19
2013-01-06 20 21 22 23
“”"‘

如果想直接去掉有 NaN 的行或列, 可以使用 dropna
pd.dropna()删除
axis=0, # 0: 对行进行操作; 1: 对列进行操作

pd.fillna()
如果是将 NaN 的值用其他值代替, 比如代替成 0:

pd.isnull()
判断是否有缺失数据 NaN, 为 True 表示缺失数据:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值