【一日一技】超简单的Pandas数据筛选方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

【一日一技】超简单的Pandas数据筛选方法


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、pandas是什么?

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、使用步骤

1.引入库

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.读入数据

代码如下(示例):

首先来定义一个DataFrame



import pandas as pd

datas = [

{'name': '王小一', 'hight': 171, 'weight': 100},

{'name': '李小二', 'hight': 163, 'weight': 200},

{'name': '张小三', 'hight': 152, 'weight': 67},

{'name': '郭小四', 'hight': 148, 'weight': 77},

{'name': '钱小五', 'hight': 189, 'weight': 87},

{'name': '孙小六', 'hight': 155, 'weight': 82},

{'name': '周小七', 'hight': 169, 'weight': 74},

{'name': '吴小八', 'hight': 170, 'weight': 68},

{'name': '郑小九', 'hight': 173, 'weight': 65},

{'name': '冯老十', 'hight': 175, 'weight': 64}

]

df = pd.DataFrame(datas)



运行效果图



现在想要筛选hight字段大于160的所有数据



代码可以这样写:

df[160 < df['hight']]



运行效果图



现在想筛选所有 160 < hight < 170的数据



如果使用Python的链式比对,就会导致报错:

报错图

此时,代码需要改写为很难看的一种样式:

df[(160 < df['hight']) & (df['hight'] < 170)]



运行效果图

这样写虽然能够解决问题,但是代码可读性不好。

为了提高可读性,可以使用pandas自带的.query方法。

当我们要查询hight > 160的数据时,可以这样写:

df.query('hight>160')



运行效果图

当我们要查询160 < hight < 170的时候,可以这样写:

df.query('160<hight<170')



运行效果图

甚至还支持多个参数链式查询,例如筛选所有160<hight<170并且weight<80的数据:

df.query('160<hight<170').query('weight<80')



运行效果图

作者:kingname

排版:magic

大家好,我是老表
觉得本文不错的话,转发、留言、点赞,是对我最大的支持。

每日留言

说说你读完本文感受?

或者一句激励自己的话?

(字数不少于15字)

怎么加入刻意学习队伍

点我,看文末彩蛋

留言有啥福利

点我就知道了

想进学习交流群

加微信:jjxksa888

备注:简说Python

2小时快速掌握Python基础知识要点。

完整Python基础知识要点

Python小知识 | 这些技能你不会?()

Python小知识 | 这些技能你不会?()

Python小知识 | 这些技能你不会?()

Python小知识 | 这些技能你不会?()

近期推荐阅读:

【1】整理了我开始分享学习笔记到现在超过250篇优质文章,涵盖数据分析、爬虫、机器学习等方面,别再说不知道该从哪开始,实战哪里找了

【2】【终篇】Pandas中文官方文档:基础用法6(含1-5)

觉得不错就点一下“在看”吧 

该处使用的url网络请求的数据。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用 LSTM(长短期记忆网络)进行股票收盘价格预测的示例程序: ```python import tushare as ts import numpy as np import pandas as pd from sklearn.preprocessing import MinMaxScaler from sklearn.model_selection import train_test_split import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import LSTM, Dense # 获取某只股票的历史行情数据 df = ts.get_hist_data('600519') # 数据预处理 df = df.dropna() # 去除缺失值 # 特征选择与处理 features = ['open', 'high', 'low', 'close', 'volume'] data = df[features].values scaler = MinMaxScaler() scaled_data = scaler.fit_transform(data) # 构造训练集和测试集 X = scaled_data[:-1] # 输入特征,取除最后一天以外的所有数据 y = scaled_data[1:, 3] # 输出标签,取除第一天以外的所有收盘价数据 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 转换数据维度为 [样本数,时间步长,特征数] X_train = np.reshape(X_train, (X_train.shape[0], 1, X_train.shape[1])) X_test = np.reshape(X_test, (X_test.shape[0], 1, X_test.shape[1])) # 构建 LSTM 模型 model = Sequential() model.add(LSTM(64, input_shape=(1, len(features)), return_sequences=True)) model.add(LSTM(32)) model.add(Dense(1)) model.compile(loss='mean_squared_error', optimizer='adam') # 训练模型 model.fit(X_train, y_train, epochs=100, batch_size=32, verbose=1) # 在测试集上进行预测 predicted_prices = model.predict(X_test) predicted_prices = scaler.inverse_transform(predicted_prices) # 反缩放预测结果 # 打印预测结果与实际值 for i in range(len(y_test)): print("预测值:{:.2f},实际值:{:.2f}".format(predicted_prices[i][0], y_test[i])) # 在最新的一天数据上进行预测 latest_data = scaled_data[-1].reshape(1, 1, len(features)) next_day_price = model.predict(latest_data) next_day_price = scaler.inverse_transform(next_day_price) print("下一日收盘价格的预测值:{:.2f}".format(next_day_price[0][0])) ``` 这个示例程序使用了股票的开盘价、最高价、最低价、收盘价和成交量作为输入特征,预测下一日的收盘价格。它首先对数据进行了缩放,然后构建了一个两层的 LSTM 模型,使用均方误差作为损失函数进行训练。训练完成后,使用测试集进行预测并反缩放预测结果,最后打印预测结果和实际值。在最新的一天数据上进行预测并打印预测结果。 请注意,这只是一个简单的示例程序,实际中还需要根据具体情况进行调参和优化。另外,股票市场受到多种因素的影响,预测股票价格是一个复杂且充满挑战的任务,单一模型的预测结果可能会受到限制。因此,在实际应用中,你可能需要结合其他模型或使用更复杂的方法来提高预测准确性。 希望对你有所帮助!如果你还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值