Python3--我的代码库之Pandas库之DataFrame(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/c_air_c/article/details/81279705
### 一、什么是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")

猜你喜欢

转载自blog.csdn.net/c_air_c/article/details/81279705