Pandas练习

本文详细介绍了Pandas的数据结构,包括Series和DataFrame的创建、操作及读取csv文件。探讨了如何利用Pandas进行数据切片、索引、合并、聚合分组,以及时间序列的处理。此外,还涵盖了DataFrame的重要属性和方法,如describe、sort_values等。
摘要由CSDN通过智能技术生成
1.Pandas的引入
在有Numpy和Matplotlib的情况下,在很多人看来,Numpy可以很好的处理数据,无论是数组还是
求取协方差,方差,均值等等,都可以解决;而Matplotlib则可以将这些经过Numpy处理后的数据
进行绘制成图像,这看起来已经解决了数据分析的一切问题.
   但此时,数据中的字符串,时间序列也可以通过这种方式进行处理吗?
   经过验证,是不行的.所以Pandas产生了,其是建立在Numpy的基础上,用来处理字符串和时间
序列.Pandas的功能十分强大.
	Pandas是一个python数据包,直接通过import引入即可使用.
2.Pandas中的数据结构

在pandas中有两类非常重要的数据结构,即序列Series和数据框DataFrame。
Series类似于numpy中的一维数组,除了通吃一维数组可用的函数或方法,而且其可通过索引标签的方式获取数据,还具有索引的自动对齐功能;
DataFrame类似于numpy中的二维数组,同样可以通用numpy数组的函数和方法,而且还具有其他灵活应用.

2.1 Series简单创建

pandas.Series参数
第一个是数组;
第二个参数是索引,是一个列表形式list();
第三个是数据类型dtype;
第四个是name;剩下的后面用时才介绍.

示例一

import string
import pandas as pd
import numpy as np


# Series创建
array = pd.Series(np.arange(6), index=list(string.ascii_letters[:6]))
print("打印\n", array)

print("array类型:\t", type(array))

输出结果:

打印
a    0
b    1
c    2
d    3
e    4
f    5
dtype: int32
array类型:	 <class 'pandas.core.series.Series'>

示例二,改变索引值

import string
import pandas as pd


# 创建一个字典
dic = {
   string.ascii_uppercase[i]: i for i in range(10)}
print("字典如下:\n", dic)

# Series创建
a = pd.Series(dic)
print("Series创建后\n", a)

# 改变索引值
b = pd.Series(a, index=list(string.ascii_uppercase[3:12]))
print("改变索引值后\n", b)

输出结果

字典如下:
{
   'A': 0, 'B': 1, 'C': 2, 'D': 3, 'E': 4, 'F': 5, 'G': 6, 'H': 7, 'I': 8, 'J': 9}
Series创建后
A    0
B    1
C    2
D    3
E    4
F    5
G    6
H    7
I    8
J    9
dtype: int64
改变索引值后
D    3.0
E    4.0
F    5.0
G    6.0
H    7.0
I    8.0
J    9.0
K    NaN
L    NaN
dtype: float64
	这是一个给字典二次赋值索引的列子,可以发现改变索引后,如果索引和原来相同的则还是原
	值,而不同的则为NAN,意味着无法找到;dtype也发生了改变,这是因为NAN是float64类型.
	因此整个数值类型全部转换成了float64
2.2 Series切片和索引

这个和numpy是相同的.

import string
import pandas as pd
import numpy as np


# Series创建
array = pd.Series(np.arange(12)[2:], index=list(string.ascii_letters[:10]),)
print("打印\n", array)

print("指定位置的值\n", array[1::2])
print("索引为a,f的值\n", array[["a", "f"]])
# 查不到值的情况下返回NAN
print("索引为d,q的值\n", array[["d", "q"]])
print("第1,3位置的值\n", array[[1, 3]])

输出结果

D:\Python\Anaconda\python.exe D:/Python/python/Project3/pandas/pandas01.py
打印
 a     2
b     3
c     4
d     5
e     6
f     7
g     8
h     9
i    10
j    11
dtype: int32
指定位置的值
 b     3
d     5
f     7
h     9
j    11
dtype: int32
索引为a,f的值
 a    2
f    7
dtype: int32
索引为d,q的值
 d    5.0
q    NaN
dtype: float64
值是1,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值