Python3-Pandas模块学习笔记3-DataFrame

DataFrame 数据帧

DataFrame是二维数据结构,即数据以行和列的标哥方式排列。
DataFrame的功能特点:

  • 潜在的列是不同的类型
  • 大小可变
  • 标记轴(行和列)
  • 可以对行和列执行算数运算

学生数据

DataFrame 初始化

pandas.DataFrame(data,index,columns,dtypes,copy)

编号参数描述
1data数据采取各种形式,如ndarray,series,map,lists,dict,constant,另一个DataFrame
2index对于行标签,用于结果帧索引是可选缺省值np.arrange(n),如果没有传递索引值
3columns对于列标签,可选的默认语法是-np.arange(n)
4detype每列的数据类型。
5copy如果默认值为False,则此命令用于复制数据

创建DataFrame

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

import numpy as np
import pandas as pd

data = [1,2,3,4,5]
index=['a','b','c','d','e']
columns=['name']

#从列表创建DataFrame
df = pd.DataFrame(data=data,index=index,columns=columns)

data = [['Alex',10],['Gavin',12],['Bob',13]]
columns = ['name','age']
# 从列表创建DataFrame
df = pd.DataFrame(data=data,columns=columns)


# 从ndarrays/Lists的字典来创建DataFrame
# 所有ndarrays必须具有相同的长度。如果传递了索引(index),则索引的长度应等于数组的长度。如果没有传递索引,则默认情况下,索引将为range(n),其中n为数组长度
data = {'Name':['gavin','Alex','Bob'],'age':[10,12,13]}
index=['row1','row2','row3']
df = pd.DataFrame(data=data,index=index)

DataFrame 列操作

1.列选择

1
2
3
4
5
6
7
8
d = {
'one':pd.Series([1,2,3],index=['a','b','c']),
'two':pd.Series([1,2,3,4],index=['a','b','c','d'])
}

df = pd.DataFrame(d)

df['one']

2.列添加

1
2
3
df['three'] = pd.Series([10,20,30],index=['a','b','c'])
df['four'] = df['one']+ df['two']
df

3.列删除

1
del df['four']

DataFrame 行操作

1.行选择

1
2
3
4
5
6
7
8
9
10
d = {
'one':pd.Series([1,2,3],index=['a','b','c']),
'two':pd.Series([1,2,3,4],index=['a','b','c','d'])
}

df = pd.DataFrame(d)
#通过将行标签传递给loc()函数来选择行。
df.loc['b']
# 可以通过将整数位置传递给iloc[]函数来选择行。
print(df.iloc[1])

2.行切片

1
df[0:1]

3.附加行

1
2
3
4
5
6
7
df2 = pd.DataFrame(data=[{
'one':22,
'two':33
}],index=['e'])
print(df2)
df = df.append(df2)
df

4.删除行

1
2
df = df.drop('a')
df

DataFrame基本功能

编号属性或方法描述
1T转置行和列
2axes返回一个列,行轴标签和列轴便签作为唯一的成员
3dtypes返回此对象中的数据类型
4empty如果NDFrame完全为空,则返回true
5ndim轴/数组维度大小
6shape返回DataFrame的维度的元素
7sizeNDFrame中的元素数
8valuesNDFrame的Numpy表示
9head()返回开头前n行
10tail()返回最后的n行