标签:index toc 空值 改变 数据分析 代码 对齐 ddr rom
导入
# 三剑客
import numpy
import pandas
from pandas import Series,DataFrame
Series是一种类似于一组的对象
* values:一组数据(ndarrary)
*index:相关的数据索引标签
创建
由列表或numpy数组创建
s1 = Series([1,2,3,4])
>>> 0 1
1 2
2 3
3 4
dtype: int64
s1 = np.array([1,2,3,4])
>>> array([1, 2, 3, 4])
注意:由ndarray创建的是引用,不是副本,对Series元素的改变也会原来的ndarrary改变对象的元素(列表没有这种情况)
由字典创建
dic = {
'name':'dancer',
'age':19,
'address':'hangzhou'
}
s3 = Series(data=dic)
索引和切片
s[indexname]
s.loc[indexname] 推荐
s[loc]
s.iloc[loc] 推荐
s[[indexname1,indexname2]]
s.loc[[indexname1,indexname2]] 推荐
s[[loc1,loc2]]
s.iloc[[loc1,loc2]] 推荐
可以把Series看成一个定长的有序字典
可以通过shape(维度),size(长度),index(键),values(值)等得到series的属性
4.基本运算
运算的原则就是索引对齐,如果缺失索引,对应位置补np.nan
NaN 是np.nan在pandas中的显示形式
可以使用pd.isnull(),pd.notnull(),或自带isnull(),notnull()函数检测缺失数据
可以使用isnull和any结合,来查看某一列或一行数据中是否存在缺失值
运算的原则就是索引对齐,如果缺失索引,对应位置补np.nan
NaN 是np.nan在pandas中的显示形式
可以使用pd.isnull(),pd.notnull(),或自带isnull(),notnull()函数检测缺失数据
可以使用isnull和any结合,来查看某一列或一行数据中是否存在缺失值
# 需求:提取s3对象中的所有非空数据
s3[s3.notnull()]
# 提取空值的索引
s3[s3.isnull()].index
# Sereis,对象可以使用一个与该对象等长的bool_list列表作为index访问数组元素
# 碰到True,就把对应位置的值返回
s3[[True,False,True,True,True,False]]
# name属性为Series对象添加列索引
s3.name = 'haha'
pandas会自动处理空值
add()
sub()
mul()
div()
Series之间的运算
在运算中自动对齐不同索引的数据
如果索引不对应,则补NaN
# fill_value设置空值的填充值
s1.add(s2,fill_value=0)
DataFrame是一个【表格型】的数据结构,可以看做是【由Series组成的字典】(共用同一个索引)。DataFrame由按一定顺序排列的多列数据组成。设计初衷是将Series的使用场景从一维拓展到多维。DataFrame既有行索引,也有列索引。
行索引:index
列索引:columns
值:values(numpy的二维数组)
dic = {
'张三':[150,150,150,300],
'李四':[0,0,0,0]
}
DataFrame(data=dic,index=['语文','数学','英语','理综'])
也可以用下面代码实现创建
data = [[0,150],[0,150],[0,150],[0,300]]
index = ['语文','数学','英语','理综']
columns = ['李四','张三']
df = DataFrame(data=data,index=index,columns=columns)
>>>
>>>李四 张三
>>>语文 0 150
>>>数学 0 150
>>>英语 0 150
>>>理综 0 300
>>>
>>>
此外,DataFrame会自动加上每一行的索引(和Series一样)。
同Series一样,若传入的列与字典的键不匹配,则相应的值为NaN。
(1) 对列进行索引
通过属性的方式
可以将DataFrame的列获取为一个Series。返回的Series拥有原DataFrame相同的索引,且name属性也已经设置好了,就是相应的列名。
(2) 对行进行索引
使用.iloc[]加整数来进行行索引
同样返回一个Series,index为原来的columns。
(3) 对元素索引的方法
df.loc[indexname] 推荐
df.iloc[loc]
索引列
df[columnname] 推荐
df.columnname
索引元素
df.loc[indexname].loc[columnname]
df[columnname].loc[indexname]
df.loc[indexname,columnname] 推荐
标签:index toc 空值 改变 数据分析 代码 对齐 ddr rom
原文地址:https://www.cnblogs.com/demiao/p/11397389.html