帖子

5门AI免费课程任你选!讯飞AI大学暑期组队学习计划报名开启

[复制链接]
181****0730 发表于 2020-7-9 21:56:23
11#
Python数据结构
列表
列表:类比物品清单,可对列表元素进行修改、删除和添加
列表可以容纳任意数据类型的数据的有序集合,可以通过索引访问其中的元素
列表可以容纳任意数据类型的数据:
列表可以容纳字符串、浮点数、整数、集合、字典、元组、列表
有序集合:集合里的元素可以根据key或index访问(数组?)
无序集合:集合里的元素只能遍历(链表?)
创建列表
list = []#创建一个空列表
type(list)#查看列表类型


列表的常用操作
查看列表长度
len(list)
向列表中添加元素
方法一:
list1 = list1+list2#列表不会去重合并,将列表连接后的数据直接赋值给list,注意这里不是对list进行修改
方法二:
list.extend(list2)#list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)extend的操作对象是列表

列表复制
list1 = [1,2,3,4,5,6]
list1*3
Out[10]:[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]









list.append('new')#在列表末尾添加新的对象
[1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd', 'a', 'b', 'c', 'd', 'new']
list.append(list2)#在列表末尾添加新的对象(列表)append的操作对象是对象
[1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd', 'a', 'b', 'c', 'd', 'new', ['a', 'b', 'c', 'd']
list.insert(2,[3,4])#在list第二个元素前插入新元素
[1, 2, [3, 4], 3, 4, 5, 6, 'a', 'b', 'c', 'd', 'a', 'b', 'c', 'd', 'new', ['a', 'b', 'c', 'd']]

索引
list[2]#取出列表中第3个元素
list.index(1)#从列表中找出第一个匹配该值的位置索引
0
切片
list[0:2]#通过索引取出列表的前2个元素,步长默认为1
list[0:4:2]#步长为2
注:开始索引和结束索引可以为正也可以为负,不填的话默认为第0个/最后一个;
   步长也可以为负,表示逆序列表,倒着取,步长不填默认为1
list[::2]
[1, 3, 5]
list[::-2]
[5, 3, 1]
list[1:-2:2]
[2]

使用道具 举报 回复
泛海 发表于 2020-7-14 09:58:55
12#

数据类型简介——数据类型强制转换float() #强制转换成浮点型
int() #强制转换成整数型
str() #强制转换成字符型


注意:数字可以转字符串,但只有只包含数字的字符串才能转成数字类型
          且要转换的数字与转换结果的类型必须匹配,否则无法转换,如int('6.66')就无法转换,需变为float('6.66')

使用道具 举报 回复
135****8217 发表于 2020-7-16 19:52:38
13#
7.16学习心得
除了sum函数之外,我们还可以尝试size,mean,median
Size:统计有多少条记录在group里面
Groupby_name_year.size()
Mean:计算平均数
Median:计算中位数
Std:计算标准差(如果记录就一条,则计算不出标准差)
Describe:输出各类统计信息
遍历:
For  name,group in  groupby_name:
   Print(name)
Print(group )
选择一个特定的group
Groupby_name.get_group(“zewei”)
Groupby_name_year.aggregate([np.mean,np.std,np.sum])
Transform:归一化某个公式
Nvda=pd.read_csv(“data/NVDA.csv”,index_col=0,parse_dates=[“Date”])
Nvda.head() 显示记录的前几行
Nvda.index[0].year()
Key=lambda x:x.year  等同于
Def key(x):
    Returnx.year
Nvda.groupby(Key).agg([np.mean,np.std])
Zscore=lamnda x(x-x.mean()) / x.std()
Transformed=Nvda.groupby(Key).tramsform(Zscore)
画图:
%matplotlib inline
Nvda[“Adj Close”].polt()
Transformed[“AdjClose”].polt(grid=True,figsize=(10.8,7.4))
两张图的对比图:
Compare=pd.dataFrame({“OriginalAdj Close”: Nvda[“Adj Close”],
“Rransformed Adj Close”: Transformed[“AdjClose”] })
Compare.plot()

使用道具 举报 回复
152****5289 发表于 2020-7-18 17:14:29
14#
#Day 2+学习笔记+07/18
大数据应用分类标注挑战赛
1. 赛题理解
  • 赛题类型:126个类别的分类问题
  • 评测标准:TOP2准确率
  • 初赛任务:给定应用描述文本进行应用分类
  • 初赛数据:训练集30000条,测试集99999条
  • 复赛任务:自行爬取数据,根据应用名称和应用包名对应用进行分类
  • 复赛数据:训练集20000条,测试集80000条
  • 无法通过样本ID等特征将初赛样本和复赛样本对应上
2. 思路:爬取应用描述文本,再像初赛那样利用文本分类技术来做
3. 解题方法:数据清洗、数据爬取、数据匹配、模型训练、模型预测、规则匹配

使用道具 举报 回复
181****0730 发表于 2020-7-25 20:12:04
15#
本帖最后由 181****0730 于 2020-7-25 20:15 编辑

#Day4学习分享 07/25
#列表就是个大杂烩,里面可以容纳各种数据类型,有序列表可以通过索引访问,无序列表不能通过索引访问,要找到某个元素只能遍历。
列表的常见操作:
创建列表
list = []#创建一个空列表

查看类型
type(list)#查看类型

查看长度
len(list)


添加元素
元素为数据:
list.append('new')#在列表末尾添加新的对象
print(list)
[1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd', 'a', 'b', 'c', 'd', 'new']


元素为列表:
list.append(list2)#在list末尾添加list2
print(list)
[1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd', 'a', 'b', 'c', 'd', 'new', ['a', 'b', 'c', 'd']]

在列表中指定位置插入元素
list.insert(2,[3,4])#在list第二个元素前插入新元素
[1, 2, [3, 4], 3, 4, 5, 6, 'a', 'b', 'c', 'd', 'a', 'b', 'c', 'd', 'new', ['a', 'b', 'c', 'd']]


拼接列表
方法一:list = [1,2,3,4,5,6]
list2= ['a','b','c','d']
list = list+list2#直接赋值给list1
print(list)
print(list2)
方法二:
list.extend(list2)
print(list)
[1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd', 'a', 'b', 'c', 'd']


复制列表
list1 = [1,2,3,4,5,6]
list1*3
[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]

索引
list = [1,2,[3,4],3,4,5,6,'new',['aa','b','c','d','e'],1]
list[2]#通过索引取出列表的元素,选取列表的第2个元素(从0开始)


[3, 4]
list.index(1)#list.index(obj)找到列表list元素obj的第一个匹项的元素位置
list.index('new')
7


切片
list[0:2]#通过索引取出列表的前2个元素,步长默认为1
list[a:b:c]中a为开始索引,b为结束索引(不包含),c为步长
步长可省略,默认为1,结束索引也可以省略,默认为结束,开始索引省略,默认为0


可以倒序切片,当开始索引或结束索引为负数时,即表示倒数开始的序号(倒数序号从-1开始),开始索引和结束索引可以有正有负。
步长为负表示取数方向为倒着取。


list[::-2]#逆序列表,倒着取,步长为2


修改列表元素
list[2]='Python'#修改列表元素
print(list)
[1, 2, 'Python', 3, 4, 5, 6, 'new', ['aa', 'b', 'c', 'd', 'e'], 1]


list[2:4]=['Python','a']#python支持同时修改多个列表元素print(list)
[1, 2, 'Python', 'a', 4, 5, 6, 'new', ['aa', 'b', 'c', 'd', 'e'], 1]

列表统计
list.count(1)#list.count(obj)统计某个元素在列表中出现的次数
2

业务中的实用操作
#统计列表中每个元素出现的频次
list = [1, 2, 3, 4, 5, 6, 'new', 1]
for i in set(list):
print(i,list.count(i))


1 22 13 14 15 16 1new 1


列表元素去重
list=[1,2,2,3,4,5,6]
#list = [1, 2, 3, 4, 5, 6, 'new', 1,[2,3]]
set(list) #list中不能嵌套list
{1, 2, 3, 4, 5, 6}
注:set(list)的意思是把list转成集合形式
如:list(set([1,1,1,1,2]))
[1, 2]
注:如果list已经被定义为一个列表,则list()函数就不能调用


“callable()是python的内置函数,用来检查对象是否可被调用,可被调用指的是对象能否使用()括号的方法调用,类似于iterable()在如上代码中,由于变量list和函数list重名了,所以函数在使用list函数时,发现list是一个定义好的列表,而列表是不能被调用的,因此抛出一个类型错误。”————————————————版权声明:本文为CSDN博主「wsl_cnxw」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/wsl_cnxw/java/article/details/82079953


删除
list1=[1,2,2,3,4,5,6]
list1.pop()#移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
6
print(list1)
[1, 2, 2, 3,4, 5]list1.pop(2)#也可以指定删除的索引2print(list1)[1, 2, 3, 4, 5]list1 = [1, 2, 3, 4, 5, 2]



list1.remove(2)#list.remove(obj)移除列表中某个值的第一个匹配项
[1, 3, 4, 5, 2]
list1.reverse()#反转列表中的元素
[2, 5, 4, 3, 1]
del list1#删除列表
del list1[2]#删除列表中索引为2的元素,即列表中第三个元素
[2, 5, 3, 1]

排序
list1=[2,5,7,9,11,16]
list1.sort(reverse=False)  #正序排序

[2, 5, 7, 9, 11, 16]


list1.sort(reverse=True)  #倒序排序
[16, 11, 9, 7, 5, 2]


业务中的实用操作
#生成一个元素时1~10的列表
list1=[]
for i in range(1,11):
    list1.append(i)
print(list1)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
注:range(a,b,c)生成从a到b的数字,c是步长


[i for i in range(1,11)]#还可以这么写,一行代码搞定
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]




使用道具 举报 回复
181****0730 发表于 2020-7-26 15:59:23
16#
元组
创建元组
tuple1=()#小括号创建元组
tuple1=('abc',1,6,66,[1,'a'],(1,3,5))#元组和列表一样没有固定的数据类型的约束
type(tuple1)#查看元组的类型
tuple2=(1,)#特殊情况,创建一个元素的元组时必须加逗号
listx=['1,2,3,4,5,6',1,2]
type(tuple(listx))#列表转元组  tuple

切片
tuple1[1:3]
tuple1[5:3:-2]
tuple1 = tuple1+tuple2#连接
tuple1*3#复制

tuple[2] =2#元组元素不能修改和删除
del tuple[0]#元组元素不能修改和删除
del tuple1#删除元组

tuple1 = (0,1,2,3,4,5,6)
max(tuple1)#求最大值


min(tuple1)#求最小值
tuple1.count(6)#求元素在元组中出现的次数


使用道具 举报 回复
匿名  发表于 2020-7-26 16:19:42
17#
集合比如我们有一个物品清单,我们不能说第一个是、第二个是......,所以我们不能通过索引对其进行修改,而且这个清单是不重复的,我们可以往这个清单里添加或删除
集合是无序集合,其支持数学概念上的集合运算,比如并集、交集等。


创建集合

#集合是唯一不可变的对象
set1 = {1,2,3,4,5}#直接使用大括号创建
set2 = set([2,3,4,6])#set()创建,将列表转为集合
set3 = set(tuple1)#set()创建,将元组转为集合



集合操作
set1.add(6)#向集合中添加元素6
print(set1)
{1, 2, 3, 4, 5, 6}
set1.update(set2)#把集合set2的元素添加到set1(相当于合并去重)
print(set1)
{1, 2, 3, 4, 5, 6}
set1.remove(6)#把集合set1中的元素6移除
set1-set2#集合的差
{1, 5}
set1|set2#集合的并集
{1, 2, 3, 4, 5, 6}
set1&set2#集合的交集
{2, 3, 4, 6}
set1^set2#返回只被set1包含或只被set2包含的元素的集合
{1, 5}
set1>set2#如果set1真包含set2,返回True,否则返回False
True




使用道具 回复
199****1963 发表于 2020-8-7 21:31:19
18#
#Day1  学习笔记  08/07
1. 安装Anaconda
2.jupyter简介
跟随老师讲解完成练习

微信图片_20200807212507.png
使用道具 举报 回复
188****1910 发表于 2020-8-7 23:56:16
19#
#DAY1  学习笔记  08/07感谢有这个平台可以和大家一起学习交流,抓住7号的尾巴~今天主要学习了环境搭建,anaconda的安装。
1.png
使用道具 举报 回复
匿名  发表于 2020-8-8 16:48:06
20#
#DAY2 学习笔记 08/08
使用道具 回复