小白踩坑记第二章:Python第二期

小白踩坑记第二章:Python第二期_第1张图片

小白踩坑记第二章:Python第二期_第2张图片

Q

b[0:2,:3]=100 #这个应该是将第0行和第1行&第3列都改成100吗,出来的结果第三列并没有变化」


A

这个可以叫切片,指定索引修改数组中的数值。3:是从3开始往后,:3是从0开始到3,3不取。另外,.r直接切片,拼接可以用.stack

小白踩坑记第二章:Python第二期_第3张图片

小白踩坑记第二章:Python第二期_第4张图片

Q

第一个问题,打开文件不用open()

A

读取文件的方式有很多种,open是一种,这里是一种

小白踩坑记第二章:Python第二期_第5张图片

小白踩坑记第二章:Python第二期_第6张图片

Q

第二问题,np.loadtxt方法是啥意思

A

就是读取txt文件中的信息

小白踩坑记第二章:Python第二期_第7张图片

小白踩坑记第二章:Python第二期_第8张图片

Q

第三个问题,n_samples,n_features = x.shape这个shape 啥意思

A

shape相当于一个方法,这涉及到基础语法。代码中给了shape的注释。

小白踩坑记第二章:Python第二期_第9张图片

小白踩坑记第二章:Python第二期_第10张图片

Q

第三个问题,n_samples,n_features = x.shape这个shape 啥意思

A

shape相当于一个方法,这涉及到基础语法。代码中给了shape的注释,shape就是数组的形状,几行几列。

小白踩坑记第二章:Python第二期_第11张图片

小白踩坑记第二章:Python第二期_第12张图片

Q

if sample[2] ==1:

    num_bread_purchases+=1

这个if 中,上一个不是说sample是在x中for循环,那就是元素,怎么还有sample[]

A

sample[i]表示第几个特征,共五个特征。

小白踩坑记第二章:Python第二期_第13张图片

小白踩坑记第二章:Python第二期_第14张图片

Q

这个去重,前面为啥为啥是u,in

A

就是给u和indice两个变量同时赋值,避免写两次。unique返回值由两个值组成,用两个变量承接。

小白踩坑记第二章:Python第二期_第15张图片

小白踩坑记第二章:Python第二期_第16张图片

Q

display和print 区别?网上没有搜到。下面这个,输出不了

import pandas as pd

from pandas import Series,DataFrame

import numpy as np

#合并

df1=pd.DataFrame(np.arange(6).reshape(3,2),columns=['four','five'])

df2= pd.DataFrame(np.arange(6).reshape(2,3),columns=['one','two','three'])

display(df1,df2)

NameError: name 'display' is not defined

A

在jupyter notebook才能,显示出来是一个表格。print(display(df1,df2))试一下,如果显示缺什么库下载就好。

小白踩坑记第二章:Python第二期_第17张图片

小白踩坑记第二章:Python第二期_第18张图片

Q

在字典里的时候明明是省份在前,为啥输出的时候就是pop在前面。

A

我们输出是对的的,应该是你环境的问题,或者之间输出导致的缓存,清理一下。

小白踩坑记第二章:Python第二期_第19张图片

小白踩坑记第二章:Python第二期_第20张图片

   Q

import  xlrd

data = xlrd.open_workbook(r'C:/Users/WT/Deskto/1.xlsx')

table=xlsx.sheet_by_index(0)

#索引index(n)中的参数代表第n个表

print(table.cell_value(0,0))

print(table.cell_value(0,1))

print(table.cell_value(1,3))

print("----------------------")

print(table.cell(1,3).value)

print(table.row(1)[3].value)

print("======================")

print(table.cols(1)[3].value)

A

桌面拼写错误,第二次没加后缀

小白踩坑记第二章:Python第二期_第21张图片

小白踩坑记第二章:Python第二期_第22张图片

Q

为什么会变成#号了

A

改一下单元格格式,单元格宽度,拉一下

小白踩坑记第二章:Python第二期_第23张图片

小白踩坑记第二章:Python第二期_第24张图片

Q

我思路局限了,我做的字典,然后for循环查询出来写进去的,应该没有比这更蠢的办法了

A

pandas 没有可以对比列的方法么?然后读取进来 就是一个 DataFrame,然后取 sn 与另一个 相比较 pandas 也可以排除重复值。取日期那一列 取最近的,那个读取多个txt 文件的 就是一个案例。

小白踩坑记第二章:Python第二期_第25张图片

小白踩坑记第二章:Python第二期_第26张图片

Q

想问下这个的话,是怎么个改法:writer = pd.ExcelWriter('C:\\Users\\JackFeng\\Desktop/1/{table_name}_666.xlsx'.format(table_name=table_name))

我直接改成了自己xls文件的路径 writer = pd.ExcelWriter('/Users/kath/Desktop/py-excel/1.xls')

我是将dataframe写入excel,但是没写入任何东西

A

你没有读取哪来写,dataframe 有to excel的方法

小白踩坑记第二章:Python第二期_第27张图片

小白踩坑记第二章:Python第二期_第28张图片

Q

小姐姐有空的话可以分享一下你的解题思路呀,有重复的怎么处理呀

小白踩坑记第二章:Python第二期_第29张图片

A

我的思路就是:先读取表格到dataframe,再用merge函数并表,然后把新表写入excel。

小白踩坑记第二章:Python第二期_第30张图片

Q

看了那个代码,发现是改名SN为盒子SN然后合并,而困扰我的主要矛盾:排除重复项挑出日期最近的、进一步优化标注处理多余项等,解决方案好像不在里面唉,比如说我把4~6行数据改重复,怎么挑出5除去4和6

A

groupby 然后再取日期得。拿sql 更加简单了,造个数据试试就知道了,https://www.jianshu.com/p/ae94c28f2ad8 参考一下这个,均值换成 日期。

小白踩坑记第二章:Python第二期_第31张图片

A

那么 还有一个问题思考一下:日期不是最大就一定就是对的,比如 6.1和 5.31是否需要转换成时间戳再做比较,怎么能确保就是最近的那个

小白踩坑记第二章:Python第二期_第32张图片

小白踩坑记第二章:Python第二期_第33张图片

A

groupby就可以做到去重&筛出日期最大的那个了,标黄是我加的重复项。

groupby之后只留下了一条

小白踩坑记第二章:Python第二期_第34张图片

Q

groupby之后只留下了一条?我好像不行,你改成4/22试下可以吗

小白踩坑记第二章:Python第二期_第35张图片

Q

出来的改成4/22的话,跑出来就是第二条4/25咯,发现出现问题是排序后同一行数据有变化了,因为你同一行的其它数据都一样

小白踩坑记第二章:Python第二期_第36张图片

A

我觉得这个多行不一样的,groupby不能解决(类似像excel的数据透视表也不能酱紫玩的),所以要么是先单独将日期列groupby,再写回原表,再做merge?如果是这样,那不如先排序再去重简单点

小白踩坑记第二章:Python第二期_第37张图片

A

它是按每列排序然后去重,并没有考虑行

小白踩坑记第二章:Python第二期_第38张图片

Q

有大神懂python自动化测试unittest用例封装吗?我想请教个问题

小白踩坑记第二章:Python第二期_第39张图片

A

试试测试套件,一般多个用例不是都放在套件里执行的吗。或者在第一个用例加一个关闭连接的操作。期望值和预期值不相等

小白踩坑记第一章:Python第一期

喜欢就点个在看吧~

你可能感兴趣的:(小白踩坑记第二章:Python第二期)