用于python环境下的数据操作_写给非计算机相关专业的同学——从零开始如何用python处理数据(包括如何安装环境)...

2023-11-10

文章目录

1. 使用语言和包

1.2 pandas包的安装(这里只是一个例子)

2. 要做的一个数据处理

2.1 数据处理的需求:

2.2 代码实现

2.2.1 思路

2.2.2 读入原来的表

2.2.3 找到速度为零的所有记录

2.2.4 找到对应的车(要删的)

2.2.5 写一个新的表格(删除操作完成后)

2.3 代码执行

3. 代码放上来吧:

这篇博客是一个经济管理学院的同学让我帮忙处理数据之后,心血来潮写一篇教程类的博客,面向的是非计算机专业的同学,所以比较基础

1. 使用语言和包

这里我用的是python进行处理。So, why python?

Python语法相对简单,不是程序员的话,当做工具来用还是不错的。(如果是程序员,我建议还是C语言起步,充分了解相关概念和语法,其他的语言相比C语言都多多少少做了简化)

其次Python里面封装好的包有很多很多,所以很多操作,我们不需要自己写函数,大大减少了在写代码上花费的时间

比较安全,这里说的有点牵强,不过我也要强调一下。曾经在C语言里面学习的指针,其值是一个内存地址。如果你代码能力不足,不小心让指针指向某个甚至某几个系统的变量,然后你还做了数据的更改,可能你的系统就被你弄坏了。Python大多数情况不需要你自己去定义,去写指针。所以,我说比较安全

1.1 python环境安装

这里我就用这位同学的电脑当做实例来讲解。

首先python她的电脑上是有的。按下"win+R":

32a3532d4eae1c5e00bad3e66cda78e1.png

输入CMD,然后确定

弹出的窗口中输入python,然后回车:

52d3b169e739ffbeffe588cd6f33a48d.png

可以看到她安装的是python3.8,对于pandas这个包,版本已经足够了。

如果第一次安装当然直接装python3.8就好,如果之前装过,且版本在python2的时代,那你就比较麻烦啦,首先去装一个python3,然后后面需要在pycharm中更改python interperter,改为python3.

至于安装python我不想多讲,给个链接自己体会吧:

python3安装教程

接下来去官网下载pycharm,并安装

这里给个链接吧:

这个家伙是下载网址的连接

564979213290bbe370117edb8c74f521.png

dc7d32d3486652e6e283c624c382e268.png

一般情况下,刚刚安装好的pycharm打开以后会出现这个情况:

144094388d4247e19d67ab77e0970c66.png

那是因为你的pycharm还没有导入python interpreter,接下来点击左上角的file->settings

d760f327b7e847185043cdd81275a4e2.png

这里选择Project下的Python Interpreter:

a8d604e296607725bd59b01096a8d60a.png

啊!居然是空的。。。当然是空的啦,需要手动添加一下interpreter,点左上角那个齿轮,然后点add

30ebfb1bb44d8852381e766f57f607be.png

接下来把你的之前安装好的python放进来就可以了:

3e793083093bd0209cf061dffeb31841.png

1.2 pandas包的安装(这里只是一个例子)

这边数据处理我选择用的是pandas,其他的包安装起来都是一样的

上一步添加好了python的包之后,就能看到有这两个家伙已经在这里了:

d650e6cddbab2dbd215ae554926cd790.png

接下来我们要去安装pandas,我仅提供一种安装方案吧,其他的去Baidu上都有

点击右边的“+”或者按下"ALT+INSERT"

89a910828caf6457bbaf95272115922c.png

如果在国内的话,我建议做这样一个操作,就是把下载地址改为清华源。国外的小伙伴们就不用啦,点击下方的Manage Repositories,进入下面这个页面:

5a359dfbb0009d781c3635b7188e1ad4.png

点击右边的"+",输入这个地址:

https://pypi.tuna.tsinghua.edu.cn/simple

156dd5c3546414dce724418b63d404af.png

然后把原先那个可以删了,点击确定。然后返回刚刚那个界面,在上方搜pandas,点击下面的install package就行了

e1d1a1a3e979ecf02b9bdbf78e64015e.png

然后你就会发现它在自动安装了:

ac7c6cb271f6dc039ca308e2976831f6.png

2. 要做的一个数据处理

安装好了上述东西只是一个开始,接下来的东西才是重点–数据处理

由于不同数据的不同处理多种多样,我也不方便一次全讲了,只好拿这个例子,给尝试进行数据处理的同学们做一个示范:

2.1 数据处理的需求:

拿到一个很大的表,表里面每一行为一条记录,我现在要找出速度(第7列)都为0的车牌号(第3列),并且删除它们。

举个例子,下表中,7057和9205的两辆车是没有速度为0的记录的,所以是铁定不删的

然后是5052这辆车,有速度为0的记录,并且有速度不为0的记录,所以也是不删的(这里代码写不好的话,可能会误删)

最后是5752这辆车,所有的记录中,速度都为0,所以是需要删除的

a22b8816768f28d68e812fd694a305f2.png

这里就用一个简单的例子展示一下怎么用python

2.2 代码实现

这里如果我从零开始讲python的话,又可以写一本书了,所以,基础知识仍然是跳过,我只讲思路,然后直接给代码。当然我会尽力讲的细一些

2.2.1 思路

先读入的数据在一个二维数组中存储

先找出所有速度为零的行(返回一个包含所有行号的一位数组即可)

然后找到对应的车牌号,这些车都被列入即将删除的列表

然后找该车牌号所有的记录中的速度,如果出现非0,就不删,其他的都是一定要删的

2.2.2 读入原来的表

首先,这张csv表应该放在python工程的目录下,目录在这里打开

1607904879103f8fa1537d54b1dd1c17.png

接下来打开那张表,我直接写了一个函数,输入是该文件的文件名(不要打.csv),然后返回一个二维数组

def read_data(file_name = 'old'):

with open('{}.csv'.format(file_name), 'r', encoding='utf-8') as rf:

data = (csv.reader(rf))

return data

2.2.3 找到速度为零的所有记录

找出所有速度为零的行(返回一个包含所有行号的一位数组即可)

这里给新手的提示,首先数组是0开始的,所有第7列这边就要写6

其次表格里存的0,我们读进来以后其实是字符,而非一个整数,所以这里是‘0’

#这个是用来找哪一行有0的函数!!

def find_zeros(table):

rownums = []

for rownum in range(len(table)):

if (table[rownum][6] == '0'):

rownums.append(rownum)

return rownums

2.2.4 找到对应的车(要删的)

然后找到对应的车牌号,这些车都被列入即将删除的列表

然后找该车牌号所有的记录中的速度,如果出现非0,就不删,其他的都是一定要删的

#这个函数用来找那些要删的车,返回的是一个行号的列表

def find_all_zero_cars(table,zero_rownums):

row_of_car_nums=[]

#find all the cars

car_number=[]

for rownum in zero_rownums:

car_number.append(table[rownum][2])

for number_of_car in range(len(car_number)):

going_be_deleted = True

for i in range(len(table)):

if ((table[i][2] == car_number[number_of_car]) and not(table[i][6]=='0')):

going_be_deleted = False

if (going_be_deleted):

row_of_car_nums.append(car_number[number_of_car])

return row_of_car_nums

2.2.5 写一个新的表格(删除操作完成后)

def delete_data(car_numbers):

file_new = 'new_data.csv'

file_old = 'old.csv'

with open(file_old,'r',newline='',encoding='utf-8')as file_old,

open(file_new,'w',newline='',encoding='utf-8') as file_new:

f_csv_old = csv.reader(file_old)

f_csv_new = csv.writer(file_new)

for i, rows in enumerate(f_csv_old): # 保留header

if i == 0:

f_csv_new.writerow(rows)

break

for index in range(len(car_numbers)):

for rows in f_csv_old:

if rows[2] != car_numbers[index]:

f_csv_new.writerow(rows)

os.remove("old.csv")

2.3 代码执行

代码的执行都是在main函数中的,所以,想要执行上面的函数,就需要在main函数中调用。

这里在提示新手一下,上面的包安装后需要Import一下

import csv

import os

import data_dispose

if __name__ == '__main__':

table = read_data()

print(len(table))

delete_data(data_dispose.find_all_zero_cars(table,data_dispose.find_zeros(table)))

之后点击右上角的执行按钮就可以运行了

4ee393317ea1da6942c1e8815de33d34.png

执行之后我们会发现这里多了一个"new_data.csv"

6074392bbd078a9791824de6c5ba2810.png

打开后发现就是处理结束后的表:

e05e82707e961c086613bb3b2ab391f4.png

3. 代码放上来吧:

这个家伙是代码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于python环境下的数据操作_写给非计算机相关专业的同学——从零开始如何用python处理数据(包括如何安装环境)... 的相关文章

  • Anaconda3 2023安装包下载及安装教程

    软件介绍 Anaconda 是一个开源的包 环境管理器 其包含了conda Python等180多个科学包及其依赖项 可以用于在同一个机器上安装不同版本的软件包及其依赖 并能够在不同的环境之间切换 安装步骤 1 选中下载好的安装包 右键选择
  • OpenGL驱动质量的事实现状(精简翻译版)

    原文 http richg42 blogspot com 2014 05 the truth on opengl driver quality html 一 厂商A 为大多数开发者所使用 功能最全 测试得最好 几乎是事实上的标准驱动 其驱动
  • 软件开发工具的作用

    软件开发不是工程更多的像是一门艺术 不但靠逻辑更需要靠直觉 软件开发中辅助设计的工具只是一个工具 不要为了工具而去用工具 发挥工具的好处 吸收使用多个工具 不生搬硬套 认识到每个工具都有其局限性 因为每个工具只是表述软件设计或者开发中的一个
  • 对于Excel界址点坐标批量转SHP方法——模型构建器

    关于Excel界址点批量转SHP 对界址点进行处理 将所有地块界址点全部放在一起 字段名 地块编号 唯一 拐点编号 X Y 必备 先将整个表加载到arcgis中然后导出 界址点 SHP 按照字段 编号 进行分类 组 模型构建器对 界址点 s
  • 阿里arthas web-console arthas-tunnel-server 支持wss

    arthas tunnel server 没有找到 wss web console js 线上需要https访问 无法在https中去访问 ws 需要支持wss 特殊修改处理下 arthas web console 源码下载 说明https
  • frp内网穿透搭建

    为什么需要内网穿透功能 从公网中访问自己的私有设备向来都是一件难事 自己的台式机 NAS等等设备 它们可能处于路由器后 或者运营商因为IP地址短缺不给你分配公网IP地址 果我们想直接访问这些设备 远程桌面 远程文件 SSH等等 一般来说要通
  • 如何在Jupyter Notebook中自由切换conda虚拟环境pythtorch_gpu

    一般情况 jupyter note在启动时 是与conda的默认虚拟环境 base root 连接 不能和新建虚拟环境pytorch gpu相连接 这需要安装一些插件来建立连接 需要安装的插件及过程 1 首先在conda中激活虚拟环境pyt
  • WDA学习笔记(一)环境准备

    前言 WDA目前在ABAP市场上有一定的需求 例如万科恒大碧桂园这些地产大佬们都用了一些BOPF的东西 多一个技能就多一些 机会 现在来系统了解一下WDA吧 WDA Web Dynpro For Aabap 和WDJ Web Dynpro
  • css多个class时的选择器用法

    http stackoverflow com questions 1041344 how can i select an element with multiple classes answertab active tab top 例如 a
  • dw超链接标签_Dreamweaver如何建立超链接?DW建立超链接方法介绍

    超级链接一般具有三个特点 蓝色 下划线 和手形标记 那么Dreamweaver如何建立超链接 下面小编就为大家介绍DW建立超链接方法 来看看吧 软件名称 Adobe Dreamweaver CS3 官方中文安装版软件大小 76 2MB更新时
  • 控制 matplotlib 子图大小

    效果图 代码 import numpy as np import matplotlib pyplot as plt 调整 matplotlib 子图的大小 x1 np linspace 0 0 5 0 x2 np linspace 0 0
  • Flink分布式执行包括调度、通信机制、检查点

    Flink的分布式执行包括两个重要的进程 master和worker 执行Flink程序时 多个进程参与执行 即作业管理器 Job Manager 任务管理器 Task Manager 和作业客户端 Job Client Flink程序需要
  • 考研DS备考

    23考研算法复习 一 图论相关算法 1 拓扑排序 2 最小生成树 2 1 Prim算法朴素实现 2 2 最小生成树Kruskal实现 3 最短路 3 1朴素版Dijkstra 3 2Bellman ford 3 3Floyd 二 排序相关算
  • Python 快速获取文件夹中的所有文件名,并保存到txt文件中

    下面的代码可以读取文件夹中的所有文件名 并记录到txt文件中 可以应用到如深度学习制作数据集等场景中 usr bin env python encoding utf 8 import os img path images img list
  • Windows防火墙阻止了远程调试

    问题 当调试数据库里的存储过程时提示 Windows防火墙当前阻止了远程调试 当接着打开SQL Server的时候提示 远程过程调用失败 解决办法 1 当遇到远程过程调试失败
  • windows下查看GPU使用率

    进入C Program Files NVIDIA Corporation NVSMI 在此处打开cmd 输入nvidia smi 第一行Driver Version 表示驱动是385 54 第二行中 第一行表示GPU序号 名字 Persis
  • python作业题

    1 输入三个坐标表示三角形的三个顶点 计算三角形的面积 import math x1 y1 x2 y2 x3 y3 eval input x1 y1 x2 y2 x3 y3 如果不在一条直线上就构成了三角形 if x1 x2 y1 y2 x
  • GMM-HMM在语音识别中的应用

    1 语音识别系统的基本结构 2 涉及算法 3 GMM高斯混合模型 3 1高斯混合模型的基本概念 高斯混合模型是指具有如下形式的概率分布模型 p y k 1k k y k p y arrowvert theta sum k 1 k alpha
  • docker redis单例安装

    环境 windows docker desktop 版本 19 03 12 1 下载redis的docker镜像 docker pull redis 6 0 8 2 设置docker共享目录 docker中的共享目录 即能将宿主的文件同步到

随机推荐