### 一、什么是DataFrame? - 这是一种带名称的表格型的数据结构,我们可以看成很多Series堆砌而成; - 第一行为字段值,从第二行开始每一行为一条记录; - 每一列可以为不同的字段数据类型; - 既有行索引,也有列索引 ### 二、创建一个DataFrame
import pandas as pd
import numpy as np
f = pd.DataFrame([1,2,3,4],[2,3,4,5])
f #传入列表时,默认将第一个列表作为记录行标签。
0 | |
---|---|
2 | 1 |
3 | 2 |
4 | 3 |
5 | 4 |
f.index
Int64Index([2, 3, 4, 5], dtype=’int64’)
f.columns
RangeIndex(start=0, stop=1, step=1)
df = pd.DataFrame({'a':range(100,111),'b':range(200,211)})
df #传入字典值时,一个key值将对应多个value,其中将key作为列标签,value组合成为行记录
a | b | |
---|---|---|
0 | 100 | 200 |
1 | 101 | 201 |
2 | 102 | 202 |
3 | 103 | 203 |
4 | 104 | 204 |
5 | 105 | 205 |
6 | 106 | 206 |
7 | 107 | 207 |
8 | 108 | 208 |
9 | 109 | 209 |
10 | 110 | 210 |
dict_1 ={'a':{2015:1,2016:2,2017:3},'b':{2015:1,2016:3,2017:4}}
df = pd.DataFrame(dict_1)
df #外层字典的键(即b和a)作为了列,内层键(即2015,2016,2017)则作为了行索引
a | b | |
---|---|---|
2015 | 1 | 1 |
2016 | 2 | 3 |
2017 | 3 | 4 |
dict_1 ={'a':{2015:1,2016:2,2017:3},'b':{2015:1,2016:3,2018:4}}
df = pd.DataFrame(dict_1)
df
a | b | |
---|---|---|
2015 | 1.0 | 1.0 |
2016 | 2.0 | 3.0 |
2017 | 3.0 | NaN |
2018 | NaN | 4.0 |
dict_1 ={'b':{2016:1,2015:2,2017:3},'a':{2016:1,2017:3,2015:4}}
df = pd.DataFrame(dict_1)
df # 列名和行索引的排列方式按照升序排列了,和创建dict_1时的顺序不一样,这说明了用字典创建DataFrame时,索引和列名会默认地按照由小到大即升序的方式来排列
a | b | |
---|---|---|
2015 | 4 | 2 |
2016 | 1 | 1 |
2017 | 3 | 3 |
df = pd.DataFrame(np.arange(12).reshape(3,4),index=[1,2,3],columns=['A','B','C','D'])
df # index为行标签,columns为列标签
A | B | C | D | |
---|---|---|---|---|
1 | 0 | 1 | 2 | 3 |
2 | 4 | 5 | 6 | 7 |
3 | 8 | 9 | 10 | 11 |
从外部文件中导入.csv文件
df = pd.read_csv("outschool.csv",encoding = 'gbk')
type(df)
pandas.core.frame.DataFrame
df_iloc = df.iloc[:,:8].head(5) #取前八列,前五条记录
把df_iloc保存到 newout 文件中
df_iloc.to_csv("newout.csv")