第三周学习总结,主要内容:
-
pandas数据统计与分析的学习
-
结合selenium编写爬虫
-
学习pandas在机器学习数据预处理与特征处理
-
作业实战分析链家数据
本周三晚上去参加了混沌大学的线下活动,史蒂夫 霍夫曼 亲自来到现场讲了硅谷创业的事情以及他是如何选择公司去投资,受益非浅,最后讲了他对AI的一些看法,更加坚定了我的选择。演讲中我记忆最深刻的是他讲的判断一个产品的好坏,去找100个用户去试用,如果100个用户都说好,他不会投资,但是如果100个用户有90个用户都不感兴趣,而有10个用户说“太好了,我就需要这样的产品,怎么会有这样完美的产品,怎么样才能得到它,即使付费我也非常愿意。”这时候霍夫曼一定会投资。总结下来就是:“让10000个用户说 好,不如让100个用户尖叫!”
下面回顾一下本周pandas讲的知识点: -
设置pd的行和列:index和columns
a. df = pd.DataFrame( [[4, 7, 10],[5, 8, 11],[6, 9, 12]],index=[1, 2, 3],columns=['a', 'b', 'c']) -
按照 行 或 列 来合并两个pd表:
a. pd.concat([df1,df2], axis=0) --- 行
b. pd.concat([df1,df2], axis=1) --- 列 -
列排序
a. df=df.sort_values('mpg',ascending=False) --- 从高到低
b. df=df.sort_values('mpg',ascending=True) --- 从低到高 -
修改列名 y 改成 year
a. df=df.rename(columns = {'y':'year'}) -
index排序:df=df.sort_index()
-
重新设置index: (注意会把之前的index往右平移,如果调用两次则会有两个index的列)
a. df=df.reset_index() -
删除重复的行:df.drop_duplicates()
-
获取列表前n条数据:df.head(n)
-
获取列表倒数n条数据:df.tail(n)
-
用切片获取行数据:df.iloc[10:20]
-
对某一列从大到小获取前n条数据:df.nlargest(n, 'value')
-
对某一列从小到大获取前n条数据:df.nsmallest(n, 'value')
-
pd的计算:
a. d1.count() #非空元素计算
b. d1.min() #最小值
c. d1.max() #最大值
d. d1.idxmin() #最小值的位置,类似于R中的which.min函数
e. d1.idxmax() #最大值的位置,类似于R中的which.max函数
f. d1.quantile(0.1) #10%分位数d1.sum() #求和
g. d1.mean() #均值
h. d1.median() #中位数
i. d1.mode() #众数
j. d1.var() #方差
k. d1.std() #标准差
l. d1.mad() #平均绝对偏差
m. d1.skew() #偏度
n. d1.kurt() #峰度
o. d1.describe() #一次性输出多个描述性统计指标 -
df.shift(1), --- 把 行 整体往下移一行, -1是向上移一行
-
从csv文件中读取数据:
a. aapl = pd.read_csv("data/AAPL.csv", index_col=0, parse_dates=["Date"]) -
取表中的一列生成图表:
a. aapl["Adj Close"].plot()
网友评论