为什么有pandas
numpy可以帮我们处理数值型的数据,pandas则多用于处理非数值型的数据。
什么是pandas
pandas中常见的两个类
Series是一种类似于一维数组的对象,由下面两个部分组成
- values:一组数据(ndarray类型)
- index:相关的数据索引标签
- Series的创建
- 由列表或numpy组成
- 由字典创建
Series用法
import pandas
# 创建Series
'''
Series(data=列表,数组,字典,index=['默认为数字形式的隐式索引,字典会自动将key作为显示索引'],)
'''
s = Series(data=[1,2,3,'four'])
# 索引,假设s存在一个索引叫做语文
s.语文
常用属性
s.shape
s.size
s.index
s.values
s.dtype
universal function
s.head(默认前5个,可指定)
s.tail(默认后5个,可指定)
# 去重
s.unique()
# 判断是否为空,或非空,返回布尔值.
s.notnull()
s.isnull()
# 加减乘除,相同索引相加,不同索引补空值
s.add()
s.sub()
s.mul()
s.div()
DataFrame
DataFrame是一个【表格型】的数据结构。DataFrame由按一定顺序排列的多列数据组成。设计初衷是将Series的使用场景从一维拓展到多维。DataFrame既有行索引,也有列索引。
- 行索引:index
- 列索引:columns
- 值:values
DataFrame的创建
- ndarray 创建
- 字典创建
常见属性
df.values
df.columns
df.index
df.shape
创建实例之张三和李四
df = pd.DataFrame({
'张三':[150,150,150,300],
'李四':[0,0,0,0]
}, index=['语文','数学', '英语', '理综'])
print(df)
索引
- loc和iloc的区别
- iloc,通过纯隐式索引取值
- loc,通过纯 显式索引取值 ```python df = pd.DataFrame(data = np.random.randint(1,10,size=(5,4)),columns=[‘a’,’b’,’c’,’d’])
print(df[[‘a’]]) # 索引显示的是列,df中有显示索引的时候只能使用显式索引,除非用iloc切片(√) print(df[0]) #(×)
<a name="CfRDu"></a>
### 时间数据类型的转化
- 字符串转化为时间格式
```python
import pandas as pd
dic = {
'time':['2020-10-10', '2020-3-20', '2020-3-11']
'temp':[33,30,26]
}
df = pd.DataFrame(data=dic)
df['time'] = df.to_datatime(df['time'])
- 时间转化为行索引
series.quantile 启泽df.set_index('time',inplace=True)