3.1 Dataframe的创建
- 利用 list 对象创建
data = [['Alex',10],['Bob',12],['Clarke',13]]#list对象可嵌套 df = pd.DataFrame(data,columns=['Name','Age'],dtype=float) data = [{'a': 1, 'b': 2},{'a': 5, 'b': 10, 'c': 20}] df = pd.DataFrame(data,index=['first','second'])#list的元素个数就是df的行数,列名会按传入数据特点自动识别
data = [{'a':1,'b':2},{'a':5,'b':10,'c':20}] df1 = pd.DataFrame(data,index=['first','second'],columns=['a','b']) df2 = pd.DataFrame(data,index=['first','second'],columns=['a','b1']) #列名由columns参数指定,与已有列名进行匹配,若没有则新建,该参数优先级高于自动分配的列名
- 利用 dic 对象创建
data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42]} df = pd.DataFrame(data, index=['rank1','rank2','rank3','rank4'])#字典对象创建数据框自动分配列名 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) #所得行索引是series索引的并集
3.2 Dataframe 行的添加删除
df = pd.DataFrame([[1, 2], [3, 4]], columns = ['a','b']) df2 = pd.DataFrame([[5, 6], [7, 8]], columns = ['a','b']) df3 = pd.DataFrame([[5, 6], [7, 8]], columns = ['a','d']) df = df.append(df2) df = df.append(df3) #append增加行时新行实际是作为数据框整体添加 #增加行时,列名不一致的话会自动创建新列,并返回警告 #增加行时,行索引跟着一起复制,ignore_index为Ture时可忽略原索引,自动递增 df = df.drop(0)#删除行索引为0的所有行
3.3 Dataframe 列的添加删除
df['three']=pd.Series([10,20,30],index=['a','b','c']) df['four']=df.one+df.three #可以直接通过存在的列进行添加 del df['four'] #使用del函数删除列时不能用df.four来指定列 df.pop('three') #删除并弹出three列