DateFrame介绍
字典类:
数组、列表或元组构成的字典构造dataframe
Series构成的字典构造dataframe
字典构成的字典构造dataframe
列表类:
2D ndarray 构造dataframe
字典构成的列表构造dataframe
Series构成的列表构造dataframe
import numpy as np
import pandas as pd
# 数组、列表或元组构成的字典构造dataframe
#构造一个字典
data = {'a':[1,2,3,4],
'b':(5,6,7,8),
'c':np.arange(9,13)}
data
{'a': [1, 2, 3, 4], 'b': (5, 6, 7, 8), 'c': array([ 9, 10, 11, 12])}
#构造dataframe
frame = pd.DataFrame(data)
frame
type(frame)
pandas.core.frame.DataFrame
#index属性查看行索引
frame.index
RangeIndex(start=0, stop=4, step=1)
#columns属性查看列索引
frame.columns
Index(['a', 'b', 'c'], dtype='object')
#values属性查看值
frame.values
array([[ 1, 5, 9],
[ 2, 6, 10],
[ 3, 7, 11],
[ 4, 8, 12]], dtype=int64)
#指定index
frame = pd.DataFrame(data,index=['A','B','C','D'])#指定行索引的时候,长度必须字典的元素的值(序列容器)长度相等
frame
#指定列索引
frame = pd.DataFrame(data,index=['A','B','C','D'],columns=['a','b','c','d'])#指定列索引的时候,长度不一定与字典的长度相同
frame
#指定列索引
frame = pd.DataFrame(data,index=['A','B','C','D'],columns=['a','b','c'])
frame
DataFrame的基本用法
T转置
通过列索引获取列数据(Series类型)
增加列数据
删除列
#dataframe
pd5 = pd.DataFrame(np.arange(9).reshape(3,3),index=['a','c','b'],columns=['A','B','C'])
pd5
#和numpy一样 进行转置 行与列进行转置
pd5.T
#获取指定某列的数据只能用列索引
pd5['B']
a 1
c 4
b 7
Name: B, dtype: int32
pd5[['A']]
pd5['A']
print(type(pd5['A']))
#增加列数据,列索引在Dataframe对象数据里面不存在,如果存在则是修改存在的列的数据
pd5['D'] = [1,2,3]
pd5
#已经存在的列数据做运算后可以添加到新的一列
pd5['E'] = pd5['A']+pd5['C']
pd5
del(pd5['D'])
pd5
练习
# 创建一个DataFrame
data = {
"姓名":['张三','李四','王五','小明','小红','小刚','小亮'],
"语文":[89,78,79,89,90,87,83],
"数学":[59,83,85,92,67,81,77],
"英语":[84,97,88,83,67,73,71],
"体育":[0,0,0,0,0,0,0]
}
df = pd.DataFrame(data)
df
# 3. 删除体育成绩
df.drop(columns=['体育'],inplace=True)
df
# 4. 添加“综合”这个课程的成绩
df['综合'] = [97,87,78,76,84,88,91]
df