Pandas入门到精通(一)

467 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

关于Pandas是干嘛的,功能有多强大我就不多说看了,我直接上干货。

1、导入pandas包

import pandas as pd

2、创建一个Series序列

pd.Series([1, 3, 5, np.nan, np.nan, 6, 8])print(s)0    1.01    3.02    5.03    NaN4    6.05    8.0dtype: float64

3、根据日期创建一个序列(DatetimeIndex)

linux下操作的结果

periods 表示的时期
freq=“D” 表示的是以 Day 增加也就是天数目,所以一直是日在增加,当然也可以改成“M”,具体可以参考
freq参数可选项目
还有一些参数,比如开始、结束、时区等相关参数。

4 、设置index的Series

s = pd.Series(np.random.randn(5), index=["a", "b", "c", "d", "e"])a    0.114858b    0.872704c    0.284864d    0.884343e    0.249049dtype: float64

5、从字典里生成Series

d = {"a": 0.0, "b": 1.0, "c": 2.0}pd.Series(d)

Series切片

    data2 = pd.Series(np.random.randint(1, 5, 5), index=["a", "b", "c", "d", "e"], dtype="uint32")    print(data2)    print("-" * 32)    print("median", data2.median()) # 取平均数    print("-" * 32)    print(data2[:2])  # 取前两个    print("-" * 32)    print(data2[data2 > data2.median()])  # 取大于平均数的    print(data2[[4, 3, 1]])  # 取列表中的索引为 431的数    print(np.exp(data2)) # np.exp()函数是求e x e^{x}ea    1b    3c    2d    4e    2dtype: uint32--------------------------------median 2.0--------------------------------a    1b    3dtype: uint32--------------------------------b    3d    4dtype: uint32e    2d    4b    3dtype: uint32a     2.718282b    20.085537c     7.389056d    54.598150e     7.389056dtype: float64Process finished with exit code 0

Series类似字典的操作

    data2 = pd.Series([1, 2, 3, 4, 5], index=["a", "b", "c", "d", "e"], dtype="uint32")    print(data2['a']) # 取出索引是 a 的数据    print('b' in data2) # 判断是否有 b 这个索引    print(data2.get("d"))

Series类似 narray的操作

    data2 = pd.Series([1, 2, 3, 4, 5], index=["a", "b", "c", "d", "e"], dtype="uint32")    print(data2+data2)     print(2*data2)     print(np.exp(data2)) 

Series 设置name和修改

    data2 = pd.Series([1, 2, 3, 4, 5], index=["a", "b", "c", "d", "e"], dtype="uint32")    data2.name = "hongbiao"    print(data2.name)    data = data2.rename("zhangsan")    # 注意这里rename之后就是另外一个对象了    print(data.name)

希望读者看到有写错的批评指正