关于Pandas的一些基础知识的整理。

``一些有关Pandas的零零散散小知识点的整理(也可以把它称为开始入门Pandas,我也是刚开始学,若有些许不对的地方,欢迎大家指正,感激不尽。)

Pandas就很像是Python里面的Excel表格,内含两个主要的数据结构。
Series(一维数组)
DataFrame(二维数组)

用到Pandas时经常会用到numpy,所以就一起导入。
在这里插入图片描述

一、Series(一个一维数组)
在这里插入图片描述
1.添加索引
在这里插入图片描述

2.提取元素的值、索引的值
在这里插入图片描述
在这里插入图片描述
当然,也可以单独提取单个元素的索引,并对其中的元素进行替换。
在这里插入图片描述
也可以对其中的某些值进行加减乘除运算,或者提取特定区间的元素(举例一个小于零)
在这里插入图片描述
3.取绝对值
在这里插入图片描述
4.给行和列取一个动听的名字。
在这里插入图片描述

二、DataFrame(一个二维数组)
在这里插入图片描述
1.同样可以对它的行和列取一个动听的名字。
在这里插入图片描述
2.取行和列的索引
在这里插入图片描述
3.二维数组的第二个定义的方式(与一开始写的无太大区别)
在这里插入图片描述
4.同样可以对整行和整列取名字
在这里插入图片描述
三、索引对象
1.一维的索引对象的更改。
先创建一个obj
在这里插入图片描述
在obj的基础上创建obj2,修改索引
在这里插入图片描述
在obj的基础上创建obj3、obj4,修改索引并且给上填充值(method中可给与的几个参数:‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None;
这其中:
pad/ffill:用前一个非缺失值去填充该缺失值
backfill/bfill:用下一个非缺失值填充该缺失值
None:指定一个值去替换缺失值)
在这里插入图片描述
这是不给填充值的效果
在这里插入图片描述
2.二维的索引对象的更改。
创建一个二维的df

df=DataFrame(np.arange(9).reshape(3,3),index=['a','c','d'],columns=['name','id','sex'])

在这里插入图片描述
{【注】:这其中用到了reshape方法,该方法和shape方法相似:
shape可以用来查看数据的样式,比如几行几列之类的。
reshape可以用来更改数据的样式,比如改成几行几列之类的。
1.shape:

a=np.array([1,2,3,4,5,6,7,8])
print(a.shape[0])#输出值是8,就是输出有多少个对象值
print(a.shape[1])#输出值是错误,因为已经超出范围了,这只是个一维的数组

a=np.array([[1,2,3,4],[5,6,7,8]])
print(a.shape[0])#输出值是2,外层有两个
print(a.shape[1])#输出值是4,内层有四个

2.reshape
修改成二维数组、三维数组。
在这里插入图片描述
其中用reshape修改后的元素所占的内存是同一位置
在这里插入图片描述
}
修改df这一二维数组的元素值

在这里插入图片描述
3.二维对象索引更改的另一方式
同样还是先创建一个二维对象
在这里插入图片描述
使用类似于SQL中的语句对二维对象中的元素进行排序
在这里插入图片描述
排序之后重置顺序

在这里插入图片描述
使其为新的序列
在这里插入图片描述
我们再创建一个二维对象
在这里插入图片描述
可以将列转化为行的索引,name这一列就转化为后面值的索引
在这里插入图片描述
按索引来查找值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重置回来
在这里插入图片描述
4.对行和列进行操作
添加一行数据
在这里插入图片描述
ignore_index=True
这个参数必须要添加,不然会报错,因为dataframe在使用append方法添加数据时,必须要设置name,设置name名称将会作为index的name。
而在多次使用append这个方法添加数据时,可能会出现相同的index,也要通过ignore_index=True这个参数来避免。

添加一列数据
在这里插入图片描述
删除行
在这里插入图片描述
删除列
在这里插入图片描述
关于axis:(这里我之前并不是太懂,在看了一篇博客之后,发现规律也不过如此。)
axis=1表示横轴,方向从左到右;axis=0表示纵轴,方向从上到下。当axis=1时,数组的变化是横向的,而体现出来的是列的增加或者减少。

其实axis的重点在于方向,不是行和列。当axis=1时,如果是求平均,那么是从左到右横向求平均;如果是拼接,那么也是左右横向拼接;如果是drop,那么也是横向发生变化,体现为列的减少。

只考虑方向,也就是axis=1为横向,axis=0为纵向。
在这个例子中也就是横向的class这一列减少了。

给行或者列修改一个美妙的名字。
在这里插入图片描述
我把这个例子贴上去只是为了弄清楚inplace这个参数的作用。
inplace这个参数的本意是可在原数据上修改。
当inplace=False或者不添加这个参数时,会直接返回new_df中的值,即,创建一个新的new_df,和复制粘贴类似。
当inplace=True时,是直接在原始的数据上进行修改。

5.算术运算
(1)一维的加减乘除运算都只对索引值相同的数据进行运算。

obj1=Series([1.1,2.2,3.3,4.4],index=['a','b','c','d'])

在这里插入图片描述

obj2=Series([2.2,3.3,4.4,5.5],index=['a','e','b','d'])

在这里插入图片描述

obj1 + obj2,obj1*obj2

在这里插入图片描述
(2)二维的加减乘除也只对横向、纵向索引值相同的数据进行运算

df1=DataFrame(np.arange(9).reshape(3,3),columns=['a','b','c'],index=['apple','tea','banana'])

在这里插入图片描述

df2=DataFrame(np.arange(9).reshape(3,3),columns=['a','b','d'],index=['apple','tea','coco'])

在这里插入图片描述

df1+df2,df1*df2

在这里插入图片描述
6.排序

obj1 = Series([-2,3,2,1],index=['d','a','b','c'])

在这里插入图片描述
升序(按照索引升序)

obj1.sort_index()

在这里插入图片描述
降序(按照索引降序)

obj1.sort_index(ascending=False)

在这里插入图片描述
升序(按照值升序)

obj1.sort_values()

在这里插入图片描述
降序(按照值降序)
在这里插入图片描述
如果是二维的DataFrame,则可以按照某一列的数值来对整体进行升序和降序
在这里插入图片描述
7.汇总与统计

from pandas import DataFrame
df = DataFrame(np.random.randn(9).reshape(3,3),columns=['a','b','c'])

这里面random.randn是返回一个或一组样本,具有标准正态分布。
在这里插入图片描述
(1)对二维的数据进行加和,axis=0是对纵向的每一列的数据进行加和,axis=1是对横向的每一列的数据进行加和。(默认axis=0)
在这里插入图片描述
(2)求二维数据的
count 数量
mean 平均值
std 标准差
min 最小值
25% 第一四分位数 (Q1),又称“较小四分位数”,等于该样本中所有数值由小到大排列后第25%的数字。
50% 中位数
75% 同上类似
max 最大值
在这里插入图片描述
(3)求一维数据的唯一值和值计数
在这里插入图片描述
8.层次化索引

df = DataFrame(np.arange(16).reshape(4,4),
              index=[['one','one','two','two'],['a','b','a','b']],
              columns=[['apple','apple','orange','orange'],['red','green','red','green']])

索引某一列
在这里插入图片描述
这里无关于pandas的可视化,可视化得单独分出来写。

感谢阅读,
我是啊帅和和,一位大数据专业大三学生。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啊帅和和。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值