为什么使用Pandas
便捷的数据处理能力
读取文件方便
封装了Matplotlib、Numpy的画图和计算
3大核心结构:
DataFrame
Panel
Series
1、DataFrame
DataFrame
结构:既有行索引,又有列索引的二维数组
属性:
shape
index
columns
values
T
方法:
head()
tail()
3 DataFrame索引的设置
1)修改行列索引值
2)重设索引
3)设置新索引
简单demo:
java;auto-links:true;collapse:false;first-line:1;gutter:true;html-script:false;light:false;ruler:false;smart-tabs:true;tab-size:4;toolbar:true;
import numpy as np
import pandas as pd</p>
<p>def demo():
data = np.random.normal(0, 1, (10, 5))
print(data)
# 添加行索引
stock = [
"股票{}".format(i) for i in range(10)
]
pd.DataFrame(data, index=stock)
# 添加列索引
date = pd.date_range(start="20180101", periods=5, freq="B")</p>
<p>if <strong>name</strong> == '<strong>main</strong>':
demo()</p>
<pre><code>
**1、结构:**
**2、属性**
shape + index + columns + values + T
</code></pre>
<p>data = np.random.normal(0, 1, (10, 5))</p>
<pre><code>
**3、方法**
head() : 默认返回数据的前5行,head(3),返回前3行
tail() :默认返回数据的后5行,tail(3),返回后3行
**4、DataFrame索引的设置**
1)修改行列索引值: 只能整体修改,不能单独修改索引
2)重设索引
3)设置新索引
;auto-links:true;collapse:false;first-line:1;gutter:true;html-script:false;light:false;ruler:false;smart-tabs:true;tab-size:4;toolbar:true;
import numpy as np
import pandas as pd
def demo():
data = np.random.normal(0, 1, (10, 5))
print(data)
# 添加行索引
stock = [
"股票{}".format(i) for i in range(10)
]
pd.DataFrame(data, index=stock)
# 1、添加列索引
date = pd.date_range(start="20180101", periods=5, freq="B")
# 修改行列索引值:整体修改,不能单独修改某一个
# 【错误】 data.index[2] = "股票88" –》 不能单独修改索引
stock_ = ["股票_{}".format(i) for i in range(10)]
data.index = stock_
# 2、重设索引
data.reset_index(drop=False) # False: 不删除原索引, True删除原索引h, 默认False
# 3、设置某列的新索引,创建新的dataframe
df = pd.DataFrame({‘month’: [1, 4, 7, 10],
‘year’: [2012, 2014, 2013, 2014],
‘sale’: [55, 40, 84, 31]})
# 以月份设置新的索引
df.set_index("month", drop=True)
# 设置多个索引,以年和月份(具有多索引的DataFrame,可用于三维数组)
new_df = df.set_index(["year", "month"])
if __name__ == ‘__main__’:
demo()
MultiIndex与Panel
1、MultiIndex
java;auto-links:true;collapse:false;first-line:1;gutter:true;html-script:false;light:false;ruler:false;smart-tabs:true;tab-size:4;toolbar:true;
import pandas as pd</p>
<p>def demo():
df = pd.DataFrame({'month': [1, 4, 7, 10],
'year': [2012, 2014, 2013, 2014],
'sale': [55, 40, 84, 31]})
new_df = df.set_index(["year", "month"])</p>
<pre><code>print(new_df.index) # 索引列表
print(new_df.index.names) # 索引名称
</code></pre>
<p>if <strong>name</strong> == '<strong>main</strong>':
demo()
2、Panel
panel我们通常看做pandas的容器,没办法直接看3维数据,只能从某一个维度出发看另外2个二维的数据
Series
Original: https://www.cnblogs.com/ftl1012/p/10581020.html
Author: 小a玖拾柒
Title: 数据挖掘—Pandas的学习
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/9088/
转载文章受原作者版权保护。转载请注明原作者出处!