关于dataframe数据结构
1.对数据进行标准化:
data = pd.read_excel('data_shiyan.xlsx',header=0)
data = data.apply(lambda x: ((x - np.min(x)) / (np.max(x) - np.min(x))))
2.求得行和列的长度:
col,row = data.shape
3.关于如何索引(摘抄下来的 链接:www.cnblogs.com/nxf-rabbit7…)
#loc只能通过index和columns来取,不能用数字
df.loc[``'one'``,``'a'``]``#one行,a列
df.loc[``'one'``:``'two'``,``'a'``]``#one到two行,a列
df.loc[``'one'``:``'two'``,``'a'``:``'c'``]``#one到two行,a到c列
df.loc[``'one'``:``'two'``,[``'a'``,``'c'``]]``#one到two行,ac列
#iloc只能用数字索引,不能用索引名
df.iloc[``0``:``2``]``#前2行
df.iloc[``0``]``#第0行
df.iloc[``0``:``2``,``0``:``2``]``#0、1行,0、1列
df.iloc[[``0``,``2``],[``1``,``2``,``3``]]``#第0、2行,1、2、3列
4.通过numpy创造列表(如list一般)
import numpy as np
arr1 = np.numpy(n)#创造一行为n数目的数据
arr2 = np.numpy((n,m)) #创造n行m列的矩阵
5.关于时间序列的使用(参考博客:www.programiz.com/python-prog…
6.关于lineplot()中使用hue的情况不能设置legend的解决方法(链接:stackoverflow.com/questions/5…
展示没有好的解决方法,可以使用获得题目中的legend之后使用set_test方法来解决
legend = ax.legend()
legend.texts[0].set_text("Whatever else")
7.联合两个表 pd.merge()
merge分为多个连接方式,有内联、左联和右联,可以尝试着使用merge
pd.merge(how ='inner',on ="") #on可以表示在哪个column上进行连接
8.如果需要计算某一列的比例,但是有不同的列计算,于是使用transform("sum")来得到(参考链接:pbpython.com/pandas_tran…)
df["Order_Total"] = df.groupby('order')["ext price"].transform('sum') #对于每一个轴都计算总数
df["Percent_of_Order"] = df["ext price"] / df["Order_Total"]