之前总结过pandas,可是到用的时候就不行了,啥也不会。还是要继续事上练哇!
pandas库提供两种数据结构,分别是series和dataframe,前者是一维的,后者是二维的。
可以用pandas读取csv文件。
也可以自己创建一个dataframe进行练手。
import pandas as pd
data = pd.DataFrame({
'first':[20,10,70,50,250,200,100],
'second':[26,18,66,50,180,140,80],
'third':[15,8,67,60,270,160,120],
})
data.index=['Mon','Tues','Wed','Thurs','Fri','Sat','Sun']
所以刚开始可能会有些不习惯,多按列来理解就好。
pandas有很多好用常用的函数
# 可以简单的看一下折线图,数据的走势
data.plot()
# 求一列的均值
data_col_mean = data['first'].mean()
# 求一行的均值
data_row_mean = data.iloc[1].mean()
# 求所有列的平均值
data_col_mean = data.mean(axis=0)
# 求所有行的平均值
data_row_mean = data.mean(axis=1)
# 注意:此时求出来的平均值类型是series类型
# 如果也想插入到表格中,需要先转换成dataframe类型,如果放置在最后一行,还需要进行转置。
mean_row = data.mean().to_frame().T
mean_row.index = ['mean']
data = data.append(mean_row)
# 插入一列
data['test']=[18,1,1,1,1,1,1,1]
# 或者
data.insert(4, 'test1', [18,1,1,1,1,1,1,1])
# 插入一行到DataFrame中
new_row = {'first': 7, 'second': 8,'thrid':9,'test':10,'test1':11}
data.loc[len(data)] = new_row
# 插入一行到DataFrame中
new_row = pd.Series({'first': 7, 'second': 8,'third':9,'test':10,'test1':11}, name='mean')
data = data.append(new_row)
# 需要注意的是,drop()方法返回一个新的 DataFrame,
# 并不会修改原始的 DataFrame。
# 如果想要在原始 DataFrame 上直接进行修改,可以设置 inplace=True 参数
data.drop(index='mean',inplace=True)
data.drop(index=8,inplace=True)
data.drop(columns='test', inplace=True)
data.drop(columns='test1', inplace =True)