pandas中size方法_Pandas用法总结

论坛 期权论坛     
选择匿名的用户   2021-5-28 02:15   0   0
<div style="font-size:16px;">
<p>Pandas用法总结</p>
<p>Pandas简介</p>
<p>Pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据库所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。Pandas基于两种数据类型:series 和 dataframe</p>
<p>Series</p>
<p>Series是Pandas中最基本的对象,类似一维数组。事实上,Series基本上就是基于NumPy的数组对象来的,和NumPy的数组不同,Series能为数据自定义标签,也就是索引(index),然后通过索引来访问数组中的数据。用法总结如下:</p>
<p>Series对象的创建</p>
<p># pandas 学习</p>
<p>import pandas as pd</p>
<p>from pandas import Series,DataFrame</p>
<p>import numpy as np</p>
<p># 一维数组</p>
<p>sel &#61; Series([1,2,3,4])</p>
<p># 会同时打印索引和对应的元素</p>
<p>print(sel)</p>
<p># 但通常我们会自己创建索引 index代表索引</p>
<p># sel&#61; Series(data&#61;[1,2,3,4],index&#61;[&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;])</p>
<p>sel &#61; Series(data&#61;[1,2,3,4],index&#61;list(&#39;abcd&#39;))</p>
<p>print(&#39;数组:&#39;)</p>
<p>print(sel)</p>
<p># 获取内容</p>
<p>print(&#39;数组值:&#39;,sel.values)</p>
<p># 获取索引</p>
<p>print(&#39;数组下标&#39;,sel.index)</p>
<p># 同时获取索引和值</p>
<p>print(&#39;同时获取索引和对应值&#39;,list(sel.iteritems()))</p>
<p># 将字典转换为Series</p>
<p>dict &#61; {&#39;red&#39;:100,&#39;back&#39;:400,&#39;green&#39;:300,&#39;pink&#39;:900}</p>
<p>se3 &#61; Series(dict)</p>
<p>print(se3)</p>
<p>Series数据获取</p>
<p># Series 数据获取</p>
<p>sel &#61; Series(data &#61; [1,2,3,4], index &#61; list(&#39;abcd&#39;))</p>
<p>print(sel)</p>
<p># Series 对象同时支持位置和标签两种方式获取数据</p>
<p>print(&#39;索引下标:&#39;,sel[&#39;c&#39;])</p>
<p>print(&#39;位置下标:&#39;,sel[2])</p>
<p># 获取不连续的数据</p>
<p>print(&#39;索引下标:&#39;)</p>
<p>print(sel[[&#39;a&#39;,&#39;c&#39;]])</p>
<p>print(&#39;位置下标:&#39;)</p>
<p>print(sel[[1,3]])</p>
<p># 可以使用切片 取数据</p>
<p>print(&#39;位置切片:&#39;)</p>
<p>print(sel[1:3]) # 左包含右不包含</p>
<p>print(&#39;索引切片:&#39;)</p>
<p>print(sel[&#39;b&#39; : &#39;d&#39;]) # 左右都包含</p>
<p># 重新赋值索引的值</p>
<p>sel.index &#61; list(&#39;dcba&#39;)</p>
<p>print(sel)</p>
<p># reindex 重新索引,会返回一个新的Series(调用reindex将会重新排序,缺失值用NaN填补)</p>
<p>print(sel.reindex([&#39;b&#39;,&#39;a&#39;,&#39;c&#39;,&#39;d&#39;,&#39;e&#39;]))</p>
<p># drop() 丢弃指定轴上的项</p>
<p>sel &#61; pd.Series(range(10,15))</p>
<p>print(sel)</p>
<p># drop</p>
<p>print(sel.drop([2,3]))</p>
<p>Series算术运算</p>
<p># Series 进行算术运算</p>
<p># 对 Series 的算术运算都是基于 index 来进行的</p>
<p># 我们可以用 加减乘除(&#43;,-,* ,/)这样的运算对两个 Series 进行运算</p>
<p># pandas 根据索引 index 对响应的数据进行计算,结果将会以浮点数的形式储存,以避免丢失精度</p>
<p># 如果 pandas 在 两个 Series 里找不到相同的 index ,对应的位置就返回一个空值 NaN</p>
<p># series(data ,index) 第一个是数据 第二个是索引 感觉有点别扭</p>
<p># 只有索引相同才进行计算,否则返回空值 NaN</p>
<p>series1 &#61; pd.Series([1,2,3,4],[&#39;London&#39;,&#39;HongKong&#39;,&#39;HuBei&#39;,&#39;Lagos&#39;])</p>
<p>series2 &#61; pd.Series([1,3,6,4],[&#39;London&#39;,&#39;Accra&#39;,&#39;Lagos&#39;,&#39;Delhi&#39;])</p>
<p>print(series1)</p>
<p>print(&#39;\n&#39;)</p>
<p>print(series2)</p>
<p>print(&#39;\n&#39;)</p>
<p>print(series1-series2)</p>
<p>print(&#39;\n&#39;)</p>
<p>print(series1&#43;series2)</p>
<p>print(&#39;\n&#39;)</p>
<p>print(series1*series2)</p>
<p>print(&#39;\n&#39;)</p>
<p># 同样也支持numpy 的数组运算</p>
<p>sel &#61; Series(data&#61;[1,6,3,5],index&#61;list(&#39;abcd&#39;))</p>
<p>print(&#39;原数组:&#39;)</p>
<p>print(&#39;\n&#39;)</p>
<p>print(sel)</p>
<p>print(&#39;\n&#39;)</p>
<p>print(sel[sel&gt;3]) # 布尔数组过滤 值大于3</p>
<p>print(&#39;\n&#39;)</p>
<p>print(sel * 2) # 标量乘法</p>
<p>print(&#39;\n&#39;)</p>
<p>print(np.square(sel)) # 可以直接加入到numpy的数学函数 平方</p>
<p>DataFrame</p>
<p>DataFrame的创建</p>
<p># DataFrame 的创建</p>
<p># 二维数据结构(表格形式储存)</p>
<p># 三个参数 data index columns 分别代表 数据 行索引 列索引</p>
<p># 使用二维数组</p>
<p>df1 &#61; DataFrame(np.random.randint(0,10,(4,4)),index&#61;[1,2,3,4],columns&#61;[&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;])</p>
<p>print(df1)</p>
<p>运行结果:</p>
<p>a b c d</p>
<p>1 2 9 6 1</p>
<p>2 0 5 5 0</p>
<p>3 4 4 7 8</p>
<p>4 4 3 5 2</p>
<p># 使用字典进行创建(行索引由index决定,列索引由字典的键决定)</p>
<p>dict &#61; {<!-- --></p>
<p>&#39;Province&#39;: [&#3
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP