python数据分析之pandas实例解析 - Python开发技术文章_教程 - 红黑 - 龙8国际娱乐pt老虎机
频道栏目
首页 > 程序开发 > Web开发 > Python > 正文
python数据分析之pandas实例解析
2018-07-27 14:40:33      个评论    来源:SunChao3555的博客  
收藏   我要投稿

python数据分析之pandas实例解析

龙8国际娱乐pt老虎机coding:utf-8
import scrapy
import xlwt, lxml
import re, json
import matplotlib.pyplot as plt
import numpy as np
import pylab
from scipy import linalg
from pandas import DataFrame,Series,MultiIndex
import pandas as pd
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
基本功能 函数应用和映射
 numpy的ufuncs(元素级数组方法)
 DataFrame的apply方法
 对象的applymap方法(因为Series有一个应用于元素级的map方法)
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
龙8国际娱乐pt老虎机函数
df=DataFrame(np.random.randn(4,3),columns=list(&龙8国际娱乐pt老虎机39;bde&龙8国际娱乐pt老虎机39;),index=[&龙8国际娱乐pt老虎机39;Utah&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;Ohio&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;Texas&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;Oregon&龙8国际娱乐pt老虎机39;])
print(df)
print(np.abs(df))龙8国际娱乐pt老虎机求绝对值
龙8国际娱乐pt老虎机lambda【匿名函数】以及应用
f=lambda x:x.max()-x.min()
龙8国际娱乐pt老虎机 def f(x):
龙8国际娱乐pt老虎机  return Series([x.min(),x.max()],index=[&龙8国际娱乐pt老虎机39;min&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;max&龙8国际娱乐pt老虎机39;])
print(df.apply(f))龙8国际娱乐pt老虎机执行函数f[列(axis=0) 最大值-最小值]
print(df.apply(f,axis=1))龙8国际娱乐pt老虎机按照轴1执行
龙8国际娱乐pt老虎机applymap 和 map
_format=lambda x:&龙8国际娱乐pt老虎机39;%.2f&龙8国际娱乐pt老虎机39;%x
print(df.applymap(_format))龙8国际娱乐pt老虎机格式化每一个元素
print(df.e.map(_format))龙8国际娱乐pt老虎机格式化指定索引或列(相当于Series)中的元素
龙8国际娱乐pt老虎机排序和排位
龙8国际娱乐pt老虎机根据索引排序,对于DataFrame可以指定轴
obj=Series(range(4),index=[&龙8国际娱乐pt老虎机39;d&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;c&龙8国际娱乐pt老虎机39;])
print(obj.sort_index())
df1=DataFrame(np.arange(8).reshape(2,4),index=[&龙8国际娱乐pt老虎机39;three&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;one&龙8国际娱乐pt老虎机39;],columns=list(&龙8国际娱乐pt老虎机39;dabc&龙8国际娱乐pt老虎机39;))
print(df1.sort_index())
print(df1.sort_index(axis=1,ascending=False))龙8国际娱乐pt老虎机按列降序
龙8国际娱乐pt老虎机根据值排序
obj1=Series([4,7,-3,2])
print(obj.sort_values())
龙8国际娱乐pt老虎机DataFrame指定列排序
df2= DataFrame({&龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;:[4, 7, -3, 2], &龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;:[0, 1, 0, 1]})
print(df2)
print(df2.sort_values(by=&龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;))
print(df2.sort_values(by=[&龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;]))

龙8国际娱乐pt老虎机rank,求排名的平均位置(从1开始)
obj2 = Series([7, -5, 7, 4, 2, 0, 4])
print(obj2.rank(method=&龙8国际娱乐pt老虎机39;first&龙8国际娱乐pt老虎机39;))龙8国际娱乐pt老虎机去第一次出现,不求平均值。
print(obj2.rank())龙8国际娱乐pt老虎机默认method=&龙8国际娱乐pt老虎机39;average&龙8国际娱乐pt老虎机39;
print(obj2.rank(ascending=False,method=&龙8国际娱乐pt老虎机39;max&龙8国际娱乐pt老虎机39;))龙8国际娱乐pt老虎机逆序,并取最大值。所以-5的rank是7
df3=DataFrame({&龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;:[4.3, 7, -3, 2],
&龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;:[0, 1, 0, 1],
&龙8国际娱乐pt老虎机39;c&龙8国际娱乐pt老虎机39;:[-2, 5, 8, -2.5]})
print(df3.rank(axis=1))龙8国际娱乐pt老虎机按列排位
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
龙8国际娱乐pt老虎机基本功能 重复索引
 龙8国际娱乐pt老虎机对于重复索引,返回Series,对应单个值的索引则返回标量
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
obj = Series(range(5), index = [&龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;c&龙8国际娱乐pt老虎机39;])
print (obj.index.is_unique) 龙8国际娱乐pt老虎机 判断是非有重复索引
print ( obj.a[:1])龙8国际娱乐pt老虎机若有重复索引则通过将该索引切片取值
df = DataFrame(np.random.randn(4, 3), index = [&龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;])
print (df)
龙8国际娱乐pt老虎机 龙8国际娱乐pt老虎机 print (df.ix[&龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;].ix[0])
print (df.ix[&龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;].ix[0])
print (df.ix[&龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;].ix[1])
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
龙8国际娱乐pt老虎机汇总和计算描述
 龙8国际娱乐pt老虎机 常用方法选项
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
axis 指定轴,DataFrame行用0,列用1
 skipna 排除缺失值,默认值为True
 level 如果轴是层次化索引(即MultiIndex),则根据level选取分组
 count 非NA值的数量
 describe 汇总
 min,max
 argmin,argmax 计算能够获取到最小值和最大值的索引位置(整数)
 idxmin,idxmax 计算能够获取到最小值和最大值的索引值
 sum,mean,median,mad 总和,均值,中位数,平均绝对离差
 var,std,skew,kurt,cumsum,cummin,cummax,cumprod 样本值的方差、标准差、偏度(三阶矩)、偏度(四阶矩)、累计和、累计最大值、累计最小值、累计积
 diff 计算一阶差分
 pct_change 计算百分数变化
 NA值被自动排查,除非通过skipna选项
 
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;

龙8国际娱乐pt老虎机DataFrame csv文件读写以及pandas_datareader 的使用
import pandas_datareader.data as web
from pandas import Panel
import datetime
start=datetime.datetime(2017,7,25)
end=datetime.date.today()
龙8国际娱乐pt老虎机 all_data={}
龙8国际娱乐pt老虎机 龙8国际娱乐pt老虎机DataReader(name,data_source,start,end)
龙8国际娱乐pt老虎机 龙8国际娱乐pt老虎机 for ticker in [&龙8国际娱乐pt老虎机39;AAPL&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;IBM&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;MSFT&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;GOOG&龙8国际娱乐pt老虎机39;]:
龙8国际娱乐pt老虎机 all_data[&龙8国际娱乐pt老虎机39;AAPL&龙8国际娱乐pt老虎机39;] = web.DataReader(&龙8国际娱乐pt老虎机39;AAPL&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;iex&龙8国际娱乐pt老虎机39;,start,end)
龙8国际娱乐pt老虎机 pdata=Panel(all_data)
龙8国际娱乐pt老虎机 print(pdata)
龙8国际娱乐pt老虎机 price = DataFrame({tic: data[&龙8国际娱乐pt老虎机39;close&龙8国际娱乐pt老虎机39;] for tic, data in all_data.items()})龙8国际娱乐pt老虎机将从all_data中将股票名为tic 的data[&龙8国际娱乐pt老虎机39;close&龙8国际娱乐pt老虎机39;]按日期索引取出并转化成DataFrame结构
龙8国际娱乐pt老虎机 volume = DataFrame({tic: data[&龙8国际娱乐pt老虎机39;volume&龙8国际娱乐pt老虎机39;] for tic, data in all_data.items()})龙8国际娱乐pt老虎机******************
龙8国际娱乐pt老虎机  龙8国际娱乐pt老虎机 print(&龙8国际娱乐pt老虎机39;**********************&龙8国际娱乐pt老虎机39;)
龙8国际娱乐pt老虎机  龙8国际娱乐pt老虎机 print(price)
龙8国际娱乐pt老虎机 price.to_csv(&龙8国际娱乐pt老虎机39;close.csv&龙8国际娱乐pt老虎机39;)
龙8国际娱乐pt老虎机 returns = price.pct_change()
龙8国际娱乐pt老虎机 print(returns.tail())
龙8国际娱乐pt老虎机 print(returns.MSFT.corr(returns.IBM))
龙8国际娱乐pt老虎机 print(returns.corr())
龙8国际娱乐pt老虎机 print(returns.cov())
龙8国际娱乐pt老虎机 print(returns.corrwith(returns.IBM))
龙8国际娱乐pt老虎机 print(returns.corrwith(returns.volume))
龙8国际娱乐pt老虎机 appl=web.DataReader(&龙8国际娱乐pt老虎机39;AAPL&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;iex&龙8国际娱乐pt老虎机39;,start,end)
龙8国际娱乐pt老虎机 print(appl)
龙8国际娱乐pt老虎机
龙8国际娱乐pt老虎机 data=all_data[&龙8国际娱乐pt老虎机39;AAPL&龙8国际娱乐pt老虎机39;]
龙8国际娱乐pt老虎机 df=DataFrame({&龙8国际娱乐pt老虎机39;open&龙8国际娱乐pt老虎机39;:data.open,&龙8国际娱乐pt老虎机39;high&龙8国际娱乐pt老虎机39;:data.high,&龙8国际娱乐pt老虎机39;low&龙8国际娱乐pt老虎机39;:data.low,&龙8国际娱乐pt老虎机39;close&龙8国际娱乐pt老虎机39;:data.close,
龙8国际娱乐pt老虎机&龙8国际娱乐pt老虎机39;volume&龙8国际娱乐pt老虎机39;:data.volume})
龙8国际娱乐pt老虎机 print(df.index)
龙8国际娱乐pt老虎机 print(df)
龙8国际娱乐pt老虎机 df.to_csv(&龙8国际娱乐pt老虎机39;apple.csv&龙8国际娱乐pt老虎机39;)
name=[&龙8国际娱乐pt老虎机39;date&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;open&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;high&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;low&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;close&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;volume&龙8国际娱乐pt老虎机39;]
raw=pd.read_csv(&龙8国际娱乐pt老虎机39;apple.csv&龙8国际娱乐pt老虎机39;)
df2=raw.set_index(raw.date)
df3=df2.reindex([&龙8国际娱乐pt老虎机39;open&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;high&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;low&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;close&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;volume&龙8国际娱乐pt老虎机39;],axis=1,)
print(df3)
龙8国际娱乐pt老虎机 print(raw.open-raw.close)
龙8国际娱乐pt老虎机 print(raw)
龙8国际娱乐pt老虎机 new_index=raw.ix[&龙8国际娱乐pt老虎机39;date&龙8国际娱乐pt老虎机39;,:]
龙8国际娱乐pt老虎机 raw.set_axis(new_index,axis=1,inplace=True)
龙8国际娱乐pt老虎机 print(s1-s2)

龙8国际娱乐pt老虎机 print(df.index)

&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
如果报以下错误:
龙8国际娱乐pt老虎机from pandas.core.common import is_list_like
龙8国际娱乐pt老虎机 ImportError: cannot import name &龙8国际娱乐pt老虎机39;is_list_like&龙8国际娱乐pt老虎机39;
修改(点击Run信息框中的文件地址链接亦可)...set_packages/pandas_datareader/fred.py文件中的from pandas.core.common import 
is_like_list 
为from pandas.api.types import is_like_list【通常在文件第一行】
另外,data_source=&龙8国际娱乐pt老虎机39;yahoo&龙8国际娱乐pt老虎机39; 会ImmediateDeprecationError,
data_source=&龙8国际娱乐pt老虎机39;google&龙8国际娱乐pt老虎机39; 因谷歌在中国不可用也会报错
具体可看.../set_packages/pandas_datareader/data.py中的相关描述
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
龙8国际娱乐pt老虎机唯一值以及成员资格
龙8国际娱乐pt老虎机is_in计算一个表示“Series各值是否包含于传入的值序列中”的布尔型数组
龙8国际娱乐pt老虎机 unique 计算Series中的唯一值数组,按发现的顺序返回
龙8国际娱乐pt老虎机value_counts 返回一个Serie,其索引为唯一值,其值为频率,按计数值降序排列
龙8国际娱乐pt老虎机去重
obj = Series([&龙8国际娱乐pt老虎机39;c&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;d&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;c&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;c&龙8国际娱乐pt老虎机39;])
print (obj.unique())
print (obj.value_counts())

龙8国际娱乐pt老虎机判断元素存在
mask = obj.isin([&龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;c&龙8国际娱乐pt老虎机39;])
print (mask)
print (obj[mask]) 龙8国际娱乐pt老虎机只打印元素b和c
data = DataFrame({&龙8国际娱乐pt老虎机39;Qu1&龙8国际娱乐pt老虎机39;:[1, 3, 4, 3, 4],
&龙8国际娱乐pt老虎机39;Qu2&龙8国际娱乐pt老虎机39;:[2, 3, 1, 2, 3],
&龙8国际娱乐pt老虎机39;Qu3&龙8国际娱乐pt老虎机39;:[1, 5, 2, 4, 4]})
print (data)
print (data.apply(pd.value_counts).fillna(0))
print (data.apply(pd.value_counts, axis = 1).fillna(0))
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
处理缺失数据
 NA处理方法
  dropna 根据各标签的值中是否存在缺少数据对轴
  fillba 样本值的标准差
  isnull 样本值的偏度(三阶矩)
  notnull
 NaN(Not a Number)表示浮点数和非浮点数组中的缺失数据
 None也被当作NA处理
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
string_data = Series([&龙8国际娱乐pt老虎机39;aardvark&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;artichoke&龙8国际娱乐pt老虎机39;, np.nan, &龙8国际娱乐pt老虎机39;avocado&龙8国际娱乐pt老虎机39;])
print(string_data.isnull())
string_data[0]=None
print(string_data.isnull())
print(string_data.dropna())
龙8国际娱乐pt老虎机&龙8国际娱乐pt老虎机39;DataFrame对丢弃NA的处理&龙8国际娱乐pt老虎机39;
from numpy import nan as NA
data = DataFrame([[1., 6.5, 3.], [1., NA, NA],
[NA, NA, NA], [NA, 6.5, 3.]])
print (data.dropna()) 龙8国际娱乐pt老虎机 默认只要某行有NA就全部删除
print (data.dropna(how = &龙8国际娱乐pt老虎机39;all&龙8国际娱乐pt老虎机39;))  龙8国际娱乐pt老虎机 某行全部为NA才删除
data[4] = NA  龙8国际娱乐pt老虎机 新增一列
print (data.dropna(axis = 1, how = &龙8国际娱乐pt老虎机39;all&龙8国际娱乐pt老虎机39;))龙8国际娱乐pt老虎机某列全部为NA才删除
data = DataFrame(np.random.randn(7, 3))
data.ix[:4, 1] = NA龙8国际娱乐pt老虎机第0-4行的 1 列为NA
data.ix[:2, 2] = NA
print (data)
print (data.dropna(thresh = 2)) 龙8国际娱乐pt老虎机 行大于等于2个非NA元素会被删除
龙8国际娱乐pt老虎机how参数控制行为,axis参数选择轴,thresh参数控制留下的数量
龙8国际娱乐pt老虎机填充缺失数据
龙8国际娱乐pt老虎机 fillna
龙8国际娱乐pt老虎机 inplace参数控制返回新对象还是就地更改
df = DataFrame(np.random.randn(7, 3))
df.ix[:4, 1] = NA
df.ix[:2, 2] = NA
龙8国际娱乐pt老虎机 print (df.fillna(0))
龙8国际娱乐pt老虎机 df.fillna(0, inplace = True)
龙8国际娱乐pt老虎机&龙8国际娱乐pt老虎机39;不同行列填充不同的值&龙8国际娱乐pt老虎机39;
print(df.fillna({1:0.5,3:-1}))龙8国际娱乐pt老虎机指定某列填充某值,列不存在则该列不填充
龙8国际娱乐pt老虎机指定不同的填充方式method参数,limit参数
龙8国际娱乐pt老虎机 还可用数据填充
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
层次化索引
 使你能在一个轴上拥有多个(两个以上)索引级别。抽象地说,它使你能以低纬度形式处理高维度数据
 通过stack与unstack变换DataFrame
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
龙8国际娱乐pt老虎机Series 的层次索引
data = Series(np.random.randn(10),
  index = [[&龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;c&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;c&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;d&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;d&龙8国际娱乐pt老虎机39;],[1, 2, 3, 1, 2, 3, 1, 2, 2, 3]])
print(data)
print(data.index)
print(data.b)
print(data[&龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;:&龙8国际娱乐pt老虎机39;c&龙8国际娱乐pt老虎机39;])
print(data.unstack())龙8国际娱乐pt老虎机转化成DataFrame结构
print(data.unstack().stack())龙8国际娱乐pt老虎机转化成Series结构,将变成多级索引
龙8国际娱乐pt老虎机DataFrame的层次索引
df = DataFrame(np.arange(12).reshape((4, 3)),
index = [[&龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;], [1, 2, 1, 2]],
columns = [[&龙8国际娱乐pt老虎机39;Ohio&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;Ohio&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;Colorado&龙8国际娱乐pt老虎机39;], [&龙8国际娱乐pt老虎机39;Green&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;Red&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;Green&龙8国际娱乐pt老虎机39;]])
print(df)
df.index.names=[&龙8国际娱乐pt老虎机39;key1&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;key2&龙8国际娱乐pt老虎机39;]
df.columns.names=[&龙8国际娱乐pt老虎机39;states&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;color&龙8国际娱乐pt老虎机39;]
print(df)
print(df.ix[&龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;,1])龙8国际娱乐pt老虎机取索引a对应第一行
print(df.ix[&龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;Ohio&龙8国际娱乐pt老虎机39;])龙8国际娱乐pt老虎机取索引a对应Ohio列
print(df.ix[&龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;,2][&龙8国际娱乐pt老虎机39;Colorado&龙8国际娱乐pt老虎机39;])龙8国际娱乐pt老虎机取索引a对应第二行Colorado列的元素
print(df.ix[&龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;,2][&龙8国际娱乐pt老虎机39;Ohio&龙8国际娱乐pt老虎机39;][&龙8国际娱乐pt老虎机39;Red&龙8国际娱乐pt老虎机39;])龙8国际娱乐pt老虎机取索引a对应第二行Ohio列索引对应Red列的元素
龙8国际娱乐pt老虎机直接用MultiIndex创建层次索引结构
print (MultiIndex.from_arrays([[&龙8国际娱乐pt老虎机39;Ohio&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;Ohio&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;Colorado&龙8国际娱乐pt老虎机39;], [&龙8国际娱乐pt老虎机39;Gree&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;Red&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;Green&龙8国际娱乐pt老虎机39;]],
  names = [&龙8国际娱乐pt老虎机39;state&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;color&龙8国际娱乐pt老虎机39;]))
龙8国际娱乐pt老虎机重新分级顺序
frame = DataFrame(np.arange(12).reshape((4, 3)),
index = [[&龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;], [1, 2, 1, 2]],
columns = [[&龙8国际娱乐pt老虎机39;Ohio&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;Ohio&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;Colorado&龙8国际娱乐pt老虎机39;], [&龙8国际娱乐pt老虎机39;Green&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;Red&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;Green&龙8国际娱乐pt老虎机39;]])
frame.index.names = [&龙8国际娱乐pt老虎机39;key1&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;key2&龙8国际娱乐pt老虎机39;]
frame_swapped = frame.swaplevel(&龙8国际娱乐pt老虎机39;key1&龙8国际娱乐pt老虎机39;, &龙8国际娱乐pt老虎机39;key2&龙8国际娱乐pt老虎机39;)
print (frame_swapped)
print (frame_swapped.swaplevel(0, 1))龙8国际娱乐pt老虎机层级转换此代码意为将一级索引转换为二级索引

龙8国际娱乐pt老虎机&龙8国际娱乐pt老虎机39;根据索引排序&龙8国际娱乐pt老虎机39;
print (frame.sort_index(level=&龙8国际娱乐pt老虎机39;key2&龙8国际娱乐pt老虎机39;))
print (frame.swaplevel(0, 1).sort_index(level=0))
龙8国际娱乐pt老虎机根据级别汇总
print(frame.sum(level=&龙8国际娱乐pt老虎机39;key2&龙8国际娱乐pt老虎机39;))
龙8国际娱乐pt老虎机使用列生成层次索引
df6=DataFrame({&龙8国际娱乐pt老虎机39;a&龙8国际娱乐pt老虎机39;:range(7),
&龙8国际娱乐pt老虎机39;b&龙8国际娱乐pt老虎机39;:range(7,0,-1),
&龙8国际娱乐pt老虎机39;c&龙8国际娱乐pt老虎机39;:[&龙8国际娱乐pt老虎机39;one&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;one&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;one&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;two&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;two&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;two&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;two&龙8国际娱乐pt老虎机39;],
&龙8国际娱乐pt老虎机39;d&龙8国际娱乐pt老虎机39;:[0,1,2,0,1,2,3],
})
print(df6)
print(df6.set_index([&龙8国际娱乐pt老虎机39;c&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;d&龙8国际娱乐pt老虎机39;]))龙8国际娱乐pt老虎机将c,d作为行索引(二级索引)
print(df6.set_index([&龙8国际娱乐pt老虎机39;c&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;d&龙8国际娱乐pt老虎机39;],drop=False))龙8国际娱乐pt老虎机列依然保留
df7=df6.set_index([&龙8国际娱乐pt老虎机39;c&龙8国际娱乐pt老虎机39;,&龙8国际娱乐pt老虎机39;d&龙8国际娱乐pt老虎机39;])
print(df7.reset_index())龙8国际娱乐pt老虎机索引重置
龙8国际娱乐pt老虎机避免索引产生歧义使用整数索引(按序).iloc[row,col]
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;
龙8国际娱乐pt老虎机面板(Pannel)数据
 通过三维ndarray创建pannel对象
 通过ix[]选取需要的数据
 访问顺序:item->major->minor
 通过stack展现面板数据
  
&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;&龙8国际娱乐pt老虎机39;

 

点击复制链接 与好友分享!回本站首页
上一篇:利用Python实现权限设置的详细教程
下一篇:最后一页
相关文章
图文推荐

关于我们 | 联系我们 | 服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑--致力于做实用的IT技术学习网站

龙8国际娱乐pt老虎机