算法-lowb三人组

---恢复内容开始---

d定义:

pandas是一个强大的Python数据分析的工具包。

pandas是基于NumPy构建的。

安装方法:

pip install pandas

import pandas as pd

pandas的主要功能

具备对其功能的数据结构DataFrame、Series

集成时间序列功能

提供丰富的数学运算和操作

灵活处理缺失数据

Series

定义:Series是一种类似于一位数组的对象,由一组数据和一组与之相关的数据标签(索引)组成。

创建方式:

创建方式:
pd.Series([4,7,-5,3])
pd.Series([4,7,-5,3],index=[‘a‘,‘b‘,‘c‘,‘d‘])
pd.Series({‘a‘:1, ‘b‘:2})
pd.Series(0, index=[‘a‘,‘b‘,‘c‘,‘d’])

获取值数组和索引数组:values属性和index属性

Series比较像列表(数组)和字典的结合体。

实例:

sr=pd.Series([1,2,3,4],index=[‘a‘,‘b‘,‘c‘,‘d‘])

sr[‘a‘:‘c‘]

==>
a   -4
b    3
c    5
dtype: int64

sr[[‘a‘,‘d‘]]

==
a   -4
d    6
dtype: int64

判断 条件是键不是值
‘b‘ in sr
==
true

1 in sr
==
flase

取值: 取值的方法和字典相类似
sr.get(‘a‘,0)

判断,切片,取值

sr=pd.Series([1,2,3,4],index=[‘b‘,‘c‘,‘d‘,‘a‘])

b    1
c    2
d    3
a    4
dtype: int64

sr.iloc[1]   #取索引为1
==
2

sr.ilc[2]  #取索引为2
==
3

取索引

sr=pd.Series([1,2,3,4],index=[‘b‘,‘c‘,‘d‘,‘a‘])
sr1=pd.Series([5,6,7,8,9],index=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘])
sr2=pd.Series([5,6,7,8,9,10],index=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘])

sr+sr1
==
a     9.0
b     7.0
c     9.0
d    11.0
e     NaN
dtype: float64
PS:多出来的值只是NAN

add方法
sr3=sr.add(sr2,fill_value=0)

sr3:
==
a     9.0
b     7.0
c     9.0
d    11.0
e     9.0
f    10.0
dtype: float64

用add方法:没有就加上,不会出现Nan

add方法和 a+b区别

sr4

a     9.0
b     7.0
c     9.0
d    11.0
e     NaN
dtype: float64

sr4.notnull()
a     True
b     True
c     True
d     True
e    False
dtype: bool

sr4[sr4.notnull()]  #把是NAN的去掉

a     9.0
b     7.0
c     9.0
d    11.0

sr4.dropna()  #也是直接去掉为nan的
a     9.0
b     7.0
c     9.0
d    11.0
dtype: float64

notnull()和dropna()

sr=pd.DataFrame({‘one‘:[1,2,3,4],‘two‘:[32,4,5,6]},index=[‘a‘,‘s‘,‘d‘,‘q‘])

import random
li = [random.uniform(10,20) for _ in range(1000)]
ratio = 6.3

list(map(lambda x:x*ratio, li))

map函数调用

df = pd.read_csv(‘601318.csv‘, header=None, names=list(‘asdfghjk‘))


df = pd.read_csv(‘601318.csv‘,index_col=1, parse_dates=[‘date‘])
df
 


df.groupby(‘key1‘).sum()


---恢复内容结束---

原文地址:https://www.cnblogs.com/52forjie/p/8395179.html

时间: 2024-10-29 19:45:00

算法-lowb三人组的相关文章

排序算法lowb三人组-插入排序

def insert_sort(li): for i in range(1, len(li)): # i表示摸到的牌的下标 tmp = li[i] # 摸到的牌 j = i - 1 while j >= 0 and li[j] > tmp: # 只要往后挪就循环 2个条件都得满足 # 如果 j=-1 停止挪 如果li[j]小了 停止挪 li[j+1] = li[j] j -= 1 # j位置在循环结束的时候要么是-1要么是一个比tmp小的值 li[j+1] = tmp 和冒泡相似,循环的时候遇

排序算法lowb三人组-选择排序

def get_min_pos(li): min_pos = 0 for i in range(1, len(li)): if li[i] < li[min_pos]: min_pos = i return min_pos def select_sort(li): for i in range(len(li)-1): # n或者n-1趟 # 第i趟无序区范围 i~最后 min_pos = i # min_pos更新为无序区最小值位置 for j in range(i+1, len(li)): i

算法 排序lowB三人组 冒泡排序 选择排序 插入排序

参考博客:基于python的七种经典排序算法   [经典排序算法][集锦]     经典排序算法及python实现 首先明确,算法的实质 是 列表排序.具体就是操作的列表,将无序列表变成有序列表! 一.排序的基本概念和分类 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作.排序算法,就是如何使得记录按照要求排列的方法. 排序的稳定性: 经过某种排序后,如果两个记录序号同等,且两者在原无序记录中的先后秩序依然保持不变,则称所使用的排序方法是稳定的,反之是不稳定

lowB 三人组

lowB 三人组 1.冒泡排序 2.选择排序 3.插入排序 1.冒泡排序 #冒泡排序法:竖看,一一比较,把大的放在最顶. 每两个相邻的数,如果前边的比后边大就交换这两个数. ''' 分析: 1.本来为无序区,没进行一趟冒泡,就有一位进入有序区,无序区就-1 2.正常来说:一个列表需要走N趟冒泡,但是,最后一位数其实是不需要走了,就是 N-1 趟 3.i 表示趟数,j 表示 箭头 2.时间复杂度:O(N2) ''' import random def bubble_sort(x): for i i

算法之LOWB三人组之选择排序

选择排序 思想是在一个列表中每次循环一遍,拿到最小值,接着再从剩下的无序区中继续拿最小值,如此循环,直到结束. # 最简单的一个选择排序,循环一个列表,拿到最小值,添加到一个新列表,之后在列表中删除这个最小值,继续再剩下的值中找最小值,往复循环. def select_sort_simple(li): new_li = [] for i in range(len(li)): min_val = min(li) new_li.append(min_val) li.remove(min_val) r

算法排序-lowB三人组

冒泡排序思路: 选择排序思路: 插入排序思路: 小结: 详细代码解释看下一篇 原文地址:https://www.cnblogs.com/52-qq/p/8398957.html

算法1-排序LowB三人组

import random from timewrap import * @cal_time def bubble_sort(li): for i in range(len(li) - 1): # i 表示趟数 # 第 i 趟时: 无序区:(0,len(li) - i) for j in range(0, len(li) - i - 1): if li[j] > li[j+1]: li[j], li[j+1] = li[j+1], li[j] @cal_time def bubble_sort_

算法之LOWB三人组之插入排序

插入排序 思想:类似于抽扑克牌,共有8张扑克牌,手里默认有一张,桌面上有7张,我们每次从桌面上抽一张和手里的牌进行比较,如果比手里的牌大,则直接放到手里的牌的后面,如果比手里的牌小,则放到手里的牌的前面,保证你放的每一次都会产生一个有序区.当牌完的时候,这8张牌也就排好了顺序.这就是插入排序 时间复杂度为O(n^2) def insert_sort(li): for i in range(1, len(li)): tmp = li[i] # 摸到的牌存一个变量中 j = i - 1 # 模到的牌

python之算法LOB三人组

一.冒泡排序 a.冒泡排序----优化 如果冒泡排序中执行一趟而没有交换,则列表已经是有序状态,可以直接结算法 import random from timewrap import * @cal_time def bubble_sort(li): for i in range(len(li) - 1): # i 表示趟数 # 第 i 趟时: 无序区:(0,len(li) - i) for j in range(0, len(li) - i - 1): if li[j] > li[j+1]: li