pandas中size方法_Pandas用法总结

Pandas用法总结

Pandas简介

Pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据库所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。Pandas基于两种数据类型:series 和 dataframe

Series

Series是Pandas中最基本的对象,类似一维数组。事实上,Series基本上就是基于NumPy的数组对象来的,和NumPy的数组不同,Series能为数据自定义标签,也就是索引(index),然后通过索引来访问数组中的数据。用法总结如下:

Series对象的创建

# pandas 学习

import pandas as pd

from pandas import Series,DataFrame

import numpy as np

# 一维数组

sel = Series([1,2,3,4])

# 会同时打印索引和对应的元素

print(sel)

# 但通常我们会自己创建索引 index代表索引

# sel= Series(data=[1,2,3,4],index=['a','b','c','d'])

sel = Series(data=[1,2,3,4],index=list('abcd'))

print('数组:')

print(sel)

# 获取内容

print('数组值:',sel.values)

# 获取索引

print('数组下标',sel.index)

# 同时获取索引和值

print('同时获取索引和对应值',list(sel.iteritems()))

# 将字典转换为Series

dict = {'red':100,'back':400,'green':300,'pink':900}

se3 = Series(dict)

print(se3)

Series数据获取

# Series 数据获取

sel = Series(data = [1,2,3,4], index = list('abcd'))

print(sel)

# Series 对象同时支持位置和标签两种方式获取数据

print('索引下标:',sel['c'])

print('位置下标:',sel[2])

# 获取不连续的数据

print('索引下标:')

print(sel[['a','c']])

print('位置下标:')

print(sel[[1,3]])

# 可以使用切片 取数据

print('位置切片:')

print(sel[1:3]) # 左包含右不包含

print('索引切片:')

print(sel['b' : 'd']) # 左右都包含

# 重新赋值索引的值

sel.index = list('dcba')

print(sel)

# reindex 重新索引,会返回一个新的Series(调用reindex将会重新排序,缺失值用NaN填补)

print(sel.reindex(['b','a','c','d','e']))

# drop() 丢弃指定轴上的项

sel = pd.Series(range(10,15))

print(sel)

# drop

print(sel.drop([2,3]))

Series算术运算

# Series 进行算术运算

# 对 Series 的算术运算都是基于 index 来进行的

# 我们可以用 加减乘除(+,-,* ,/)这样的运算对两个 Series 进行运算

# pandas 根据索引 index 对响应的数据进行计算,结果将会以浮点数的形式储存,以避免丢失精度

# 如果 pandas 在 两个 Series 里找不到相同的 index ,对应的位置就返回一个空值 NaN

# series(data ,index) 第一个是数据 第二个是索引 感觉有点别扭

# 只有索引相同才进行计算,否则返回空值 NaN

series1 = pd.Series([1,2,3,4],['London','HongKong','HuBei','Lagos'])

series2 = pd.Series([1,3,6,4],['London','Accra','Lagos','Delhi'])

print(series1)

print('\n')

print(series2)

print('\n')

print(series1-series2)

print('\n')

print(series1+series2)

print('\n')

print(series1*series2)

print('\n')

# 同样也支持numpy 的数组运算

sel = Series(data=[1,6,3,5],index=list('abcd'))

print('原数组:')

print('\n')

print(sel)

print('\n')

print(sel[sel>3]) # 布尔数组过滤 值大于3

print('\n')

print(sel * 2) # 标量乘法

print('\n')

print(np.square(sel)) # 可以直接加入到numpy的数学函数 平方

DataFrame

DataFrame的创建

# DataFrame 的创建

# 二维数据结构(表格形式储存)

# 三个参数 data index columns 分别代表 数据 行索引 列索引

# 使用二维数组

df1 = DataFrame(np.random.randint(0,10,(4,4)),index=[1,2,3,4],columns=['a','b','c','d'])

print(df1)

运行结果:

a b c d

1 2 9 6 1

2 0 5 5 0

3 4 4 7 8

4 4 3 5 2

# 使用字典进行创建(行索引由index决定,列索引由字典的键决定)

dict = {

'Province': ['Guangdong','Beijing','Qinghai','Fujian'],

'pop': [1.3, 2.5, 1.1, 0.7],

'year': [2018, 2018, 2018, 2018]

}

df2 = pd.DataFrame(dict,index=[1,2,3,4])

print(df2)

# 使用 from_dict

dict2 = {'a':[1,2,3],'b':[4,5,6]}

df6 = pd.DataFrame.from_dict(dict2)

print(df6)

# 索引相同的情况下,相同索引的值会相对应,缺少的值会添加NaN

data={

'Name':pd.Series(['zs','ls','we'],index=['a','b','c']),

'Age':pd.Series(['10','20','30','40'],index=['a','b','c','d']),

'country':pd.Series(['中国','日本','韩国'],index=['a','c','b'])

}

df3 = pd.DataFrame(data)

print(df3)

# to_dict() 方法将DataFrame 对象转换为字典

dict = df3.to_dict()

print(dict)

运行结果:

Province pop year

1 Guangdong 1.3 2018

2 Beijing 2.5 2018

3 Qinghai 1.1 2018

4 Fujian 0.7 2018

<
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值