python计算的效率问题-pandas、numpy结合代替遍历pandas数据

简介: python计算的效率问题-pandas、numpy结合代替遍历pandas数据

越来越考虑效率的问题了,以前写代码只要能够实现自己想要的功能就行,现在,既要实现自己想要的功能,又追求高的效率,也许,在码农的道路上,越走越远了(_-_)

原始数据如下:20180211094359881.png


计算那一天是月初,原先使用的方法为:在这种情况下,遍历pandas,明显效率很不高

def get_yuechu(data):
    for i in range(len(data)):
        if i>1 and str(data.ix[i,'date'])[5:7]!=str(data.ix[i-1,'date'])[5:7]:
            data.ix[i,'yuechu']=True
        else:
            data.ix[i,'yuechu']=False
    return data

接下来对计算那天是月初的方法做了改进,改进之后,效率有了明显的提升

def get_yuechu(data):
    data['date_yue']=[i[5:7] for i in data['date']]
    data['yestoday_yue']=data['date_yue'].shift(1)
    data['yuechu']=np.where(data['date_yue']!=data['yestoday_yue'],True,False)
    return data


目录
相关文章
|
28天前
|
数据格式 Python
如何使用Python的Pandas库进行数据透视图(melt/cast)操作?
Pandas的`melt()`和`pivot()`函数用于数据透视。基本步骤:导入pandas,创建DataFrame,然后使用这两个函数转换数据格式。示例代码展示了如何通过`melt()`转为长格式,再用`pivot()`恢复为宽格式。输入数据是包含'Name'和'Age'列的DataFrame,最终结果经过转换后呈现出不同的布局。
39 6
|
28天前
|
数据挖掘 数据处理 索引
如何使用Python的Pandas库进行数据筛选和过滤?
Pandas是Python数据分析的核心库,其DataFrame数据结构便于数据操作。筛选与过滤数据主要包括:导入pandas,创建DataFrame,通过布尔索引、`query()`或`loc[]`、`iloc[]`方法筛选。
|
29天前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名?
Pandas在Python中提供数据排序和排名功能。使用`sort_values()`进行排序,如`df.sort_values(by='A', ascending=False)`进行降序排序;用`rank()`进行排名,如`df['A'].rank(ascending=False)`进行降序排名。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`。
23 6
|
29天前
|
机器学习/深度学习 存储 算法
Python中的NumPy库:数值计算与科学计算的基石
【2月更文挑战第29天】NumPy是Python科学计算的核心库,专注于高效处理大型多维数组和矩阵。其核心是ndarray对象,提供快速数组操作和数学运算,支持线性代数、随机数生成等功能。NumPy广泛应用于数据处理、科学计算和机器学习,简化了矩阵运算、统计分析和算法实现,是数据科学和AI领域的重要工具。
|
25天前
|
BI 数据处理 索引
Pandas基本操作:Series和DataFrame(Python)
Pandas基本操作:Series和DataFrame(Python)
95 1
|
2天前
|
索引 容器
06-python数据容器-list列表定义/list的10个常用操作/列表的遍历/使用列表取出偶数
06-python数据容器-list列表定义/list的10个常用操作/列表的遍历/使用列表取出偶数
|
24天前
|
数据采集 存储 Web App开发
一键实现数据采集和存储:Python爬虫、Pandas和Excel的应用技巧
一键实现数据采集和存储:Python爬虫、Pandas和Excel的应用技巧
|
25天前
|
机器学习/深度学习 数据挖掘 Python
NumPy的基本操作(Python)
NumPy的基本操作(Python)
30 4
|
1月前
|
索引 Python
在Python中,如何快速地遍历列表中的每个元素?
在Python中,如何快速地遍历列表中的每个元素?
29 3
|
1月前
|
索引 Python
在 Python 中迭代地遍历两个列表
在 Python 中迭代地遍历两个列表
17 0