pandas中的DataFrame
import pandas as pd
import numpy as np
pandas中主要有两种数据结构,分别是:Series和DataFrame。
(1)Series:一种类似于一维数组的对象,是由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据也可产生简单的Series对象。注意:Series中的索引值是可以重复的。
(2)DataFrame:一个表格型的数据结构,包含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型等),DataFrame即有行索引也有列索引,可以被看做是由Series组成的字典。
1、DataFrame的创建
(1)通过二维数组创建
(2)通过字典的方式创建
# 通过二维数组创建
df1=pd.DataFrame([['Den','Aql','Rek'],[89,6,90]])
df1
# 通过字典创建dataframe的要求:字典的value要求:一维数组或者单一数据
# 字典的键作为列索引
# 字典的数据作为列数据
# index没有显示指定时,创建range(0,len(dict))
dic={'数学':[25.1,26,27,28],'语文':98,'名字':['Dkd','Hff','Zfs','Lghgd']}
df2=pd.DataFrame(dic)
df2
2、获取DataFrame的行索引、列索引、值
print("==================行索引===================")
print(df2.index)
print("==================列索引===================")
print(df2.columns)
print("=============dataframede值===================")
print(df2.values)
# 重置行索引的值
df2.index=["one","two","three","four"]
df2
3、DataFrame数据获取和修改
(1)可以直接通过列索引获取指定列的数据, eg: df[column_name]
(2)如果需要获取指定行的数据的话,需要通过ix方法来获取对应行索引的行数据,eg: df.ix[index_name]
# 通过列索引获取一整列的值
df2["名字"]
# 通过列索行获取一整列的值
print(df2.ix['one'])
print("=========================")
df2.ix[['one','three'],'名字']
# 通过列索引,修改整一列的值
df2['数学']=[98,98,98,98]
df2
# 通过行索引修改整行的数值
df2.ix['one']=['Drt',100,100]
df2
df2.loc['one']