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

Q

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


A

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

Q

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

A

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

Q

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

A

就是读取txt文件中的信息

Q

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

A

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

Q

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

A

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

Q

if sample[2] ==1:

    num_bread_purchases+=1

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

A

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

Q

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

A

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

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))试一下,如果显示缺什么库下载就好。

Q

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

A

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

   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

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

Q

为什么会变成#号了

A

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

Q

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

A

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

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的方法

Q

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

A

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

Q

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

A

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

A

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

A

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

groupby之后只留下了一条

Q

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

Q

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

A

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

A

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

Q

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

A

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

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

喜欢就点个在看吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值