小题练习一
创建Series对象,定义索引为abcde,打印索引与内容;
import pandas
from pandas import Series,DataFrame
sel=Series(data=[1,2,3,4,5],index=list('abcde'))
print(sel)
print(sel.index)
print(sel.values)
小题练习二
创建一个DataFrame。name为张三、李四、王五、赵六;age为18,20,56,33;national为山西、北京、吉林、山东;打印并获取行列数。
import pandas as pd
dict1={
'name':['张三','李四','王五','赵六'],
'age':['18','20','56','33'],
'national':['山西','北京','吉林','山东']
}
df1=pd.DataFrame(data=dict1,index=['0','1','2','3'])
print(df1)
print(df1.shape)
pandas官方文档
pandas碎片知识整理
ratings.csv的文件内容如图:
#导入包
import pandas as pd
from pandas import Series,DataFrame
#读取文件(''内放入自己存放文件的路径),如果第一行是数据非列名,pd.read_csv('',header=None)
df=pd.read_csv(r'C:/Users/9250/20201223课后资料/20201223课后资料/ratings.csv')
print(df)
#展示df的概况
print(df.info())
#读取前3行,括号内不添加参数时,默认读取前5行
df.head(3)
#获取行列数
print(df.shape)
#获取行索引
print(df.index.tolist())
#获取列索引
print(df.columns.tolist())
#获取数据的维度
print(df.ndim)
#获取df的值,注意是values(有s)
print(df.values)
#获取rating列【单列】
print(df['rating'])#返回的是series,无列名
print(df[['rating']])#返回的是DataFrame,有列名
#获取【多列】
#获取movieid和rating列(series指的是一行或者一列,当取多列时已不满足series,所以用的是两层[])
print(df[['rating','movieId']])
#df[]通过条件筛选,选出rating>=5的相应行信息
print(df[df['rating']>=5])
'''
df.loc[] 通过标签索引获取数据 df.loc[行,列]
df.iloc[] 通过位置索引获取数据
'''
#给df的行索引重新赋值
df.index=list('abcde')
print(df)
#按行列名取单一值
print(df.loc['a','rating'])
#获取多行多列
print(df.loc[['a','b'],:])# df.loc[[行,行。。],[列,列。。。。]]
#选取rating==4的movieId 和 userId
print(df.loc[df['rating']==4,['movieId','userId']])
#修改df的index和columns
#df.index = ['', '',...]
#df.columns = ['', '', ...]
#df.rename(index={'old':'new',...},columns={})
#将某一列设为索引,且保留原列
#result=df.set_index('列名',drop=False)
#result.index.name = None
#print(result)