火龙信奥
  • 首页
  • 课程
  • 题库
  • 打卡
    • 代码对战
    • 快速对战
  • 题单
  • 团队
  • 荣誉墙
  • 商城
  • 登录 / 注册

原文

作者: 作者的头像   赵卓涵 , 时间:2023-08-22 18:36:10 , 所有人可见, 阅读  2

import pandas as pd #创建dataframe第一种方式,使用相等长度列表的字典创建 # df = pd.DataFrame({'x1':[1,2,3], 'x2':[4,5,6]}) # df2 = pd.read_excel('yyy.xlsx') df3 = pd.read_excel('chuli001.xlsx') # print(df2.index, df2.columns, df2.values) #df2.at[0, '空气质量等级'] = '优' #fiter_ = df2['空气质量指数' ] == 80 #print(df2[fiter_]) # print(df2['空气质量等级'][2]) # print(df2.at[2, '空气质量等级']) # print(df2.head(3), df2.tail(3)) # print(df2[ ['日期','天气' ,'空气质量指数'] ]) print("----------------------") print(df3) #删除第0行,默认是axis=0, 删除第'性别'列,axis=1表示列操作 print(df3.drop(0) , df3.drop('性别', axis = 1)) print(df3['序号'].count()) print( round(df3['语文'].sum() / df3['语文'].count(), 2) , round( df3['语文'].mean() , 2) , df3['语文'].max(), df3['语文'].min() ) print(df3['语文'].describe() ) print("+++++++++++++++++++++++++++") print( round (df3.groupby('性别')['语文'].mean(), 2) ) print( round (df3.groupby('性别')['语文'].describe(), 2) ) print("===========================") #sort_index #先按序号降序排,再按语文,数学升序排序 # for i in df3.sort_values( ['序号'] , ascending = True ).sort_values( ['语文','数学'] , ascending = False ).groupby('性别') : # print(i) print(df3) print(df3.sort_values('语文', inplace = True) ) print(df3) groupby里的as_index属性,意思是否作为新分组的属性 import pandas as pd test = {"group_id":[1,1,2,3,3,3,4,4],"age":[22,15,27,35,28,17,45,29], "status":[1,2,3,4,5,6,7,8]} df = pd.DataFrame(test) print(df) print(df.groupby(['group_id'] ).mean() , type(df.groupby(['group_id'] ).mean() )) print(df.groupby(['group_id'] ,as_index = False ).mean()) 收起 新鲜事原文 王老师的头像王老师(新天地校区) 1天前 所有人可见 #########################Series import pandas as pd #一维数据 Series s1 = pd.Series([1,2,3,4,5], index=['a', 'b', 'c' , 'd', 'e' ]) s2 = pd.Series({2:3 , 3:4}) #Series的属性 print(s2.values, s2.index) for i in s2.values: print(i) #########################DataFrame import pandas as pd #创建dataframe第一种方式,使用相等长度列表的字典创建 df = pd.DataFrame({'x1':[1,2,3], 'x2':[4,5,6]}) df2 = pd.read_excel('yyy.xlsx') # print(df2.index, df2.columns, df2.values) df2.at[0, '空气质量等级'] = '优' fiter_ = df2['空气质量指数' ] == 80 print(df2[fiter_]) # print(df2.head(3), df2.tail(3)) 展开 新鲜事原文 赵卓涵的头像赵卓涵(新天地校区) 3天前 所有人可见 颗粒付款链接哦费劲哦i公斤哦哦攻击人家发 不顾功夫不负隔壁贵人 发的鸟他然后给付退给你 心态、 #include<bits/stdc+.h> using namespace std; int main(){ return 0; } 展开 分享setdefault与get区别 王老师的头像王老师(新天地校区) 5天前 所有人可见 setdefault 同时也会改变 dict 的值: #!/usr/bin/python # -*- coding: UTF-8 -*- dict = {'runoob': '菜鸟教程', 'google': 'Google 搜索'} print "Value : %s" % dict.setdefault('runoob', None) print "Value : %s" % dict.setdefault('Taobao', '淘宝') print "-----------------" # 该值包含 Taobao for k, v in dict.iteritems(): print k, v 以上实例输出结果为: Value : 菜鸟教程 Value : 淘宝 ----------------- google Google 搜索 Taobao 淘宝 runoob 菜鸟教程 setdefault 和 get 还是有不同的: setdefault 如果不存在会在原字典里添加一个 key:default_value 并返回 default_value。 get 找不到 key 的时候不会修改原字典,只返回 default_value。 若要修改字典 dic.setdefault(key,default_value) 等同于 dic[key] = dic.get(key,default_value)。 展开 新鲜事原文 王老师的头像王老师(新天地校区) 6天前 所有人可见 40图 图片 展开 分享【python】函数讲义 王老师的头像王老师(新天地校区) 6天前 所有人可见 为什么需要函数: 有时候,一些代码可能要在许多地方使用。如果采用传统的方式,一直重复编写相同的代码,那么代码将变得非常糟糕,并且非常难以维护。这时候我们就可以采用函数,来把一些重复执行的代码封装成一个函数,以后要再调用相同的代码的时候,就只要调用这个函数就可以了。 函数定义和调用: 定义函数:语法是使用def: def 函数名(参数,可以为空): 代码块 示例: def greet(): print('hello world') 调用函数:语法是使用这个函数的名字,后面再给个圆括号: 函数名(参数,可以为空) 示例: greet() 函数参数:函数可以传递参数进去给函数: def add(a,b): print(a+b) 形参:就是在定义函数的时候指定的参数。 实参:就是在调用函数的时候传递进去的参数。 位置参数:位置参数就是按照形参中给定的参数的顺序。 def add(a,b): print(a+b) # 调用add add(1,2) 在上例中,调用add函数,给的值a为1,b为2。这种位置很重要的参数叫做位置参数。 关键字参数:在传递参数的时候,可以按照形参的名字给定参数。 def add(a,b): print(a + b) # 调用add add(a=1,b=2) # 调换a和b参数的顺序来调用add函数 add(b=1,a=2) *args和**kwargs:分别代表的是缺省的位置参数和关键字参数。 def add(*args,**kwargs): print(args) print(kwargs) # 调用add add(1,2,a=3,b=4) 其中1和2是位置参数,会保存在args中,a=3,b=4是位置参数,保存在kwargs中。 传递到函数中的args是一个元组,kwargs是一个字典。 元组和字典拆分出来成位置参数和关键字参数: a = ('a','b','c') b = {"username":"hlcoding","age":18} def greet(*args,**kwargs): print(args) print(kwargs) greet(a,*b) # 将a这个元组个的元素一个个拆开来给args,将b拆开来一个个给kwargs 默认参数:有时候一些参数,你可能需要给函数调用者,使用一个默认的参数,那么可以通过以下方式实现: def greet(name,age=18): print(name,age) greet('hlcoding') #age将使用18来作为默认参数 greet('hlcoding',age=20) #age将使用20来作为默认参数 默认参数一定要放在其他参数的后面,但是放在缺省参数的前面。 函数返回值:函数可以有返回值: def add(a,b): return a + b 可以使用元组来返回多个值: def greet(): return 'hlcoding',18 函数中变量的作用域: 局部变量:函数中的变量,不能在外面使用。 def greet(): name = 'hlcoding' print('my name is %s'%name) print(name) # 报错,因为name只在greet函数中有用 全局变量:全局变量是在函数或者某个代码块外面定义的变量,可以在函数中进行使用。 username = 'hlcoding' def greet(): print('my name is %s' % username) greet() global关键字:如果想在函数或者某个代码块中修改全局变量,那么应该使用global关键字。 username = 'hlcoding' def greet(): username = 'ketang' # 此时不是修改全局变量username,而是定义一个与全局变量相同名字的变量 print('my name is %s' % username) greet() print(usernmae) # 这时候username仍然是`hlcoding`。 列表和字典当作全局变量:列表和字典当作全局变量,在函数或者代码块中使用的时候,可以任意的增删改查列表和字典的值。但是如果要修改这个全局变量指向的值,则必须加global关键字。 persons = ['zhangsan','lisi'] def add_person(name): persons.append(name) add_person('wangwu') print(persons) # 这时候persons已经变成['zhangsan','lisi','wangwu']了。 而如果你直接修改persons的指向,但没有使用global关键字,那么做的操作,将是在本地申请一个局部变量: persons = ['zhangsan','lisi'] def add_person(): persons = ['wangwu'] add_person() print(persons) # 仍然是'zhangsan'和`lisi` 匿名函数: 列表排序sort:使用sort给列表中的值进行排序的时候。如果列表中装的是字典,那么将不能正确的排序: l = [{'username':'zhangsan','age':18},{"username":'lisi','age':20}] l.sort() 正确的写法应该是: l = [{'username':'zhangsan','age':18},{"username":'lisi','age':20}] def sort_key(x): return x['age'] # 根据年龄进行排序 l.sort(key=sort_key) 以上是定义一个函数来作为key,但是这个key的函数只需要用一次,以后再也用不到了,因此一般这种情况,我们可以使用匿名函数,也即lambda表达式,可以更好的完成我们的需求: l = [{'username':'zhangsan','age':18},{"username":'lisi','age':20}] l.sort(key=lambda x:x['age']) 自己动手写一个需要函数作为参数的函数:我们可以模范python自带的sort函数来实现一个做计算器运算的函数,我们让用户输入值,和计算方式: def calculate(x,y,func): return func(x,y) # 实现一个加法计算器 calculate(1,2,lambda x,y:x+y) # 实现一个减法计算器 calculate(2,1,lambda x,y:x-y) # 实现一个乘法计算器 calculate(1,2,lambda x,y:x*y) # 实现一个除法计算器 calculate(4,2,lambda x,y:x/y) 展开 分享【python】字典讲义 王老师的头像王老师(新天地校区) 6天前 所有人可见 为什么需要字典: 有时候我们需要存储一组相关的数据的时候,比如要存储一个人的信息,那么有username,age,birthday等,如果这些信息都存储在列表中,或者数组中,比如[‘username’,’age’,’birthday’]那么用起来可能不是很方便。比较方便的操作是,我直接通过username这个key就可以拿到这个值,我通过username就可以给这个key设置值,那么就可以通过字典的方式实现我们的需求。 字典基础: 创建字典:我们可以通过两种方式创建字典: person = {"username":"hlcoding","age":18} 或者是使用dict函数: person = dict(username='hlcoding',age=18) 基本操作: len(d):返回字典的键值对的长度。 d[k]:获取k这个key对应的值。 d[k] = v:设置键为k的值为v,如果字典中不存在键为k的这一项,那么自动的添加进去。 del d[k]:删除d这个字典中键为k的这一项数据。 k in d:检查d这个字典中是否包含键为k的这一项。 字典中的键可以是任意的不可变类型,比如:浮点类型、整形、字符串或者元组。 字典常用方法: clear:清除字典中所有的项。 a = {'username':'hlcoding','age':18} print(a) a.clear() print(a) get:访问字典中那个键对应的那个值。这个方法不会抛出异常。 a = {'username':'hlcoding','age':18} username = a.get('username') print(username) city = a.get('city') # 获取到的是一个None。 # 也可以指定一个,在没有获取到这个值时候的默认值 city = a.get('city','china') # 返changsha city = a['city'] # 抛出异常 pop:用来获得对应于给定键的值,然后将这个键盘和值的项从字典中删除。会返回这个值。 d = {'x':1,'y':2} d.pop('x') popitem:随机的移除字典中的一项。因为字典是无序的,所以是随机的。 d = {'username':"hlcoding",'age':18} d.popitem() # 随机弹出一个值 update:用一个字典更新另外一个字典,如果碰到相同的键,则会覆盖。 a = {'url':'http://www.baidu.com/','title':"baidu"} b = {"url":"http://www.google.com/",'new_value':"new_value"} a.update(b) print(a) setdefault:如果字典中包含有给定键,则返回该键对应的值,否则返回为该键设置的值,并且会设置值到字典中。 遍历字典: 遍历字典中所有的key:使用keys方法,这个方法将所有的键以列表的方式返回。 a = {"url":"www.baidu.com",'title':"baidu"} for x in a.keys(): print(x) 遍历字典中所有的value:使用values方法,这个方法将所有的值以列表的方式返回。 a = {"url":"www.baidu.com",'title':"baidu"} for x in a.values(): print(x) 遍历字典中所有的键值对:使用items方法,这个方法将所有的键和值以列表的方式返回。 a = {"url":"www.baidu.com",'title':"baidu"} for key,value in a.items(): print(key) print(value) 展开 分享【python】元组讲义 王老师的头像王老师(新天地校区) 6天前 所有人可见 什么是元组: 元组的使用与列表相似,不同之处在于元组是不可修改的,元组使用圆括号,而列表使用中括号。 定义元组: 使用逗号的方法: aTuple = 1,2,3 #这样就定义好了一个元组 print(aTuple) 使用圆括号的方法: aTuple = (1,2,3) print(aTuple) 使用tuple函数: aList = [1,2,3] aTuple = tuple(aList) print(aTuple) 定义只有一个元素的元组: aTuple = 12, # 这样就定义号了只有一个元素的元组 bTuple = (12,) #必须要再后面加一个逗号,否则就是一个普通的值了 元组常用操作: 下标操作: aTuple = ('a','b','c') a = aTuple[0] 切片操作:跟列表和字符串的切片操作一样。 解组操作: aTuple = ('hlcoding',18) name,age = aTuple 或者有些时候我们只想要元组中的某个值,不需要所有的值,那么我们可以通过_来作为省略: aTuple = ('hlcoding',18,'中国') username,age,_ = aTuple count方法:获取元组中某个值出现的次数,跟列表中的用法相同。 index方法:获取元组中某个值的下标,跟列表中的用法相同。 元组存在的意义或应用场景: 元组在字典中可以当作key来使用,而列表是不可以的。 在函数中,有时候要返回多个值,一般采用元组的方式。 在一些不希望用户修改值的场景下使用元组来代替列表。 展开 分享【python】列表讲义 王老师的头像王老师(新天地校区) 6天前 所有人可见 为什么需要列表: 列表相当于一个容器。可以把一系列相关的值放在这个容器中进行存储。比如现在要存储水果的种类,那么如果通过之前的方式,一种水果用一个变量存储,那么代码将变得非常糟糕。正确的存储方式应该是定义一个列表类型的变量,然后把所有这些水果的名字存储到这个列表中。在其他编程语言中,叫做数组。 列表介绍: 如何定义列表:使用左右两个中括号的形式。 fruits = ['apple','banana','orange'] # 列表中的值,可以为不同的数据类型 test_list = ['a',1] 如何取列表中的值:列表支持下标操作,跟字符串的下标操作是一样的。 fruits = ['apple','banana','orange'] a = fruits[0] b = fruits[1] c = fruits[2] 列表的遍历:使用for和while循环都可以遍历。但一般推荐使用for循环。 for循环版本的: fruits = ['apple','banana','orange'] for fruit in fruits: print(fruit) while循环版本的: fruits = ['apple','banana','orange'] index = 0 length = len(fruits) while index < length: fruit = fruits[index] print(fruit) 列表嵌套:列表中可以存储任何数据类型,当然也包括列表自身类型。也即,列表中也可以存储列表: test_list = [1,2,3,['a','b','c']] for temp in test_list: print(temp) 列表相加:列表相加,相当于把后面一个列表的数据追加到第一个列表后面。 a = [1,2,3] b = [4,5,6] c = a + b print(c) 列表的切片操作:跟字符串中的切片操作是一样的。 开始位置:包括开始位置。 结束位置:会取到结束位置前一个元素。 步长:默认位1,如果步长为负数,则从右到左。如果步长正数,则从左边到右边。 切片可以赋值。 逆序:list[-1::-1] 列表常用操作: append:在列表末尾添加元素。 fruits = ['apple'] fruits.append('banana') count:统计某个元素在列表中出现的次数。 temps = ['to','be','or','not','to','be'] print(temps.count('to')) extend:将一个列表中元素追加到另外一个列表中。 a = [1,2,3] b = [4,5,6] c = a.extend(b) # c的结果是:1,2,3,4,5,6 index:找出列表中第一个某个值的第一个匹配项的索引位置,如果没有找到,则抛出一个异常: knights = ['hello','world'] print(knights.index('hello')) insert:将某个值插入到列表中的某个位置: chars = ['hello','world'] chars.insert(1,'nihao') pop方法:移除列表中最后一个元素,并且返回该元素的值: x = [1,2,3] temp = x.pop() # 返回3 remove方法:移除列表中第一个匹配的元素,不会返回这个被移除的元素的值。如果被移除的这个值不存在列表中,则会抛出一个异常。 x = [1,2,3] x.remove(2) reverse:将列表中的元素反向存储。会更改原来列表中的值。 x = [1,2,3] x.reverse() print(x) #这时候x已经变成3,2,1了 sort:将列表中的元素进行排序。会更改原来列表中的位置。 x = [4,2,1,5,3] x.sort() print(x) 要区分sorted函数,sorted函数不会更改原来列表的位置,并且会返回一个排序后的值。 x = [4,2,1,5,3] y = sorted(x) print(y) del关键字:根据下标删除元素: a = [1,2,3] del a[0] print(a) # [2,3] 使用in判断列表中是否有某个元素: x = [1,2,3] if 1 in x: print(True) else: print(False) list函数:将其他的数据类型转换成列表: a = 'hello' print(list(a)) 列表生成式: 列表生成式,可以将好几行的代码写在一行中。比如要获取一个从1-100的整数值的列表。如果通过传统的方式,那么只能这样写: values = [] for x in range(1,101): value.append(x) 如果通过列表生成式,那么可以通过以下一行代码实现: values = [x for x in range(1,101)] 当然也可以在列表生成式的时候,判断条件,只有满足条件的才会被加入到列表中: values = [x for x in range(1,101) if x%2==0] 展开 分享【python】字符串讲义 作者王老师(新天地校区) 2023-08-16 09:24:12 所有人可见 字符串: 什么是字符串: 在Python中,使用单引号或者双引号括起来的,就是字符串。 字符串也可以使用六个单引号或者六个双引号括起来。 在Python3中,字符串分为两种类型,第一种是str,是unicode字符串,第二种是bytes,就是经过编码后的字符串,是一种字节码,适用于保存在磁盘上或者在网络上传输。 字符串拼接:
©2026加盟我们 | 关于我们 | ACM课程 | 常见问题 | 成果墙 | 评测记录 | 浙ICP备2021013995号
在线画图 | OI WIki | 打字练习
火龙信奥
请输入登录信息


请完成安全验证
验证码底图 滑块
向右拖动滑块完成验证
请输入用户名 / 绑定的手机号码



请输入注册信息(手机号验证码注册)





验证码5分钟有效,60秒内不可重复获取,每日最多3次

微信登录

微信登录二维码

正在生成二维码...

账号已过期,请续期。
去续期

绑定手机号

📱

为了更好地保护您的账号安全,享受完整的平台服务

请您尽快绑定手机号码