Pandas数据结构:Series DataFrame
位置索引、标签索引‘’、
切片索引:通过位置切片时,不包含右边元素。通过标签切片时,左右标签都包含。
pandas.Series(data,index) 创建一个Series对象
s1=Series([45,23,45],index=[1,2,3])
pandas.DataFrame(data,index,columns,dtype,copy) 创建一个DataFrame对象
通过二维数组和字典举例:
df = pd.DataFrame({'yuwen':[100,98,88],'shuxue':[98,99,100],'yingyu':[99,98,100],'banji':"gaoyi"},index=[0,1,2])
data=[[100,99,89],[100,98,88],[98,99,100]]
columns=['yuwen','shuxe','english']
df=pd.DataFrame(data=data,columns=columns)
数据抽离
主要使用DataFrame对象中的loc属性和iloc属性进行数据抽离。
loc属性:以列名、行名作为参数。当只有一个参数时,默认是行名,即抽取整行数据,包括所有列。
iloc属性:以行和列位置索引作为参数,0表示第一行,1表示第二行,以此类推。当只有一个参数时,默认是行索引,包括所有列。
import pandasas pd
pd.set_option("display.unicode.east_asian_width",True)
data=[[110,105,99],[104,88,115],[109,120,131],[112,115]]
name=['明日','七月流火','高圆圆','二月二']
columns = ['语文','数学','英语']
df=pd.DataFrame(data=data,columns=columns,index=name)
print(df)
print(df.loc['明日'])
print(df.iloc[0])
抽取多行
print(df.loc[['明日','高圆圆']])
print(df.iloc[[0,2]])
数据的增加修改和删除
列
1、直接为DataFrame对象赋值 df['物理']=[88,79,33,90]
2、使用Loc属性在DataFrame对象最后增加一列。df.loc[:,'物理']=[88,79,33,90]
3、在指定位置插入一列
w1=[88,79,33,90]
df.insert(1,'物理',w1)
print(df)
行
1、loc属性给行增加数据。df.loc['钱多多']=[100,120,115,88]
2、字典和append方法实现多行增加数据
df_insert=pd.DataFrame({'语文':[100,120,118],'数学':[118,98,99],'英语':[110,119,117],'物理':[119,118,111]},index=['钱多多','童年','无名'])
df=df.append(df_insert)
修改数据:
1、修改列名 df.columns=['chines','ph','ma','eng']
2、rename()函数修改多个列名
df.rename(columns={'语文':'语文上','数学':'数学上','英语':'英语上'},inplace=True)
网友评论