导入包
import pandas as pd
import numpy as np
import pandas import Dataframe
创建Dataframe
二维列表创建
d1=Dataframe([[1,2,3,4],[5,6,7,8]])
print(d1)
索引 index 行索引 columns 列索引 本质为索引对象
print(d1.columns)
print(d1.index)
自定义索引
d2 = DataFrame([[1,2,3,4],[5,6,7,8]],index=list('ab'),columns=list('abcd'),dtype=np.float64)
print(d2)
dataframe 读取
按照行列索引读取 同时不可以[列,行]读取 [列][行]这样读取
print(d2['b']['a'])
读一列 dataframe[列索引] 结果式一个series
print(d2['a'])
读取一行使用自定义索引
print(d2.loc['a'])
读取一行使用默认0-n的索引
print(d2.iloc[0])
修改 找到这个值 重新赋值
d2['a']['a']=100
print(d2)
读取多行 不能单点 但是可以范围
取多行或多列 可以使用 loc 和 iloc
loc[行,列] 该行列可以是区间范围 取出结果是dataframe
iloc[行,列] 该范围使用0-n的默认索引 结果dataframe
print(d2['a':'a'])
print(d2.loc['a':'b','a':'c':2])
print(d2.iloc[:,0:2])
取单值方法2
print(d2.loc['a','c'])
print(d2)
添加数据
行 添加
‘’’
dataframe.loc[行索引]=object
行添加 赋值如果式列表 那么列表的元素个数要等于列数
新添加的数据类型可以不等于 原本dtype的类型
但是尽量不要添加不同类型
‘’’
d2.loc['c']=3
d2.loc['d']=[1,2,3,4]
print(d2)
添加列
d2.loc[:,'e']=9
print(d2)
列添加 使用方法insert
insert 参数:
loc :索引位置
column: 列索引名称
value:值 如果式列表 元素个数必须与行数相同
allow_duplicater:索引名是否允许重复 True允许
‘’’
d2.insert(0,'g',[2,2,3,3],allow_duplicates=True)
print(d2)
删除行列
pop 按索引删除列
d2.pop('a')
print(d2)
drop(self, labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors=‘raise’)
inplace 是否操作于元数据 默认不操作在元数据 默认False
简单来用 index = 行索引 或者 column = 列索引 删除行列
不直接修改原值
d3 = d2.drop(index='a')
print(d3)
d4 = d2.drop(columns='b')
print(d4)
同时删除行列
d5 = d2.drop(index='a',columns='b')
print(d5)
help(DataFrame.drop)
‘’’
drop 使用 list作为参数 需指定按行还是按列
axis = 0 默认按行 =1 按列
‘’’
d5 = d2.drop(['b','c'],axis=1)
print(d5)