Pandas 数据的一些基本操作
一个很偶然的机会,主动出击挑战一个之前没有尝试过的新东西,在做的过程中需要处理一些csv文件的数据,以下是我总结的一些小方法,希望对和我一样的新手朋友们有所帮助,初次尝试,望路过的朋友有更好的方法可以留言补充,小弟在此谢过~
1. 读取文件的某一列并追加到另一个文件中
import pandas as pd
filename = '/Users/nova.li/Desktop/workspace/对齐数据/6w_risk_date_merge.csv'
df1 = pd.read_csv(filename)
#设置索引从1开始
df1.index = df1.index + 1 #从这个csv文件中读取所要追加到另一个文件的原始文件并取列名
df2 = pd.read_csv('/Users/nova.li/Desktop/workspace/对齐数据/6w_2104_2106.csv')
df1['label'] = df2['label_fpd4']
#输出重写之后的文件,并设置所有列的列名为id,表中的小数位为0
df1.to_csv(filename, index=True, index_label='id',float_format='%.0f')
2.删除csv文件中的某列数据
import pandas as pd
filename = '/Users/nova.li/Desktop/workspace/对齐数据/6w_risk_date_merge.csv'
df = pd.read_csv(filename)
df = df.drop(['md5(mobile)', 'date'], axis=1)
3. 修改指定某列列名
import pandas as pd
filename = '/Users/nova.li/Desktop/workspace/对齐数据/6w_2104_2106_label.csv'
df = pd.read_csv(filename)
df.rename(columns={'label_mob3': 'label'}, inplace=True)
df.to_csv(filename)
4. 查看某一列数值为1的个数
pd.read_csv('/Users/nova.li/Desktop/workspace/对齐数据/6w_2104_2106.csv')['label_mob3'].sum()
5. 替换列数据
import pandas as pd
fname = '/Users/nova.li/Desktop/workspace/对齐数据/6w_2104_2106_done.csv'
df = pd.read_csv(fname)
data = pd.read_csv('/Users/nova.li/Desktop/workspace/对齐数据/6w_2104_2106.csv')
#删除原来的列
df = df.drop(['label'], axis=1)
#新增一列,并将另一个csv文件的某一列添加过来
df['new_label'] = data['label_mob1']
#更改列名
df.rename(columns={'new_label': 'label'}, inplace=True)
df.to_csv(fname, index=False)
6. 按比例切分文件
#安装scikit-learn(sklearn)模块
pip install scikit-learn
import pandas as pd
from sklearn.model_selection import train_test_split
import numpy as np data = pd.read_csv('/Users/nova.li/Desktop/workspace/对齐数据/6w_2104_2106_done2.csv')
train,test = train_test_split(data,test_size=0.3,) #测试集的比例是30%
np.savetxt('/Users/nova.li/Desktop/workspace/对齐数据/6w_2104_2106_train.csv',train,delimiter=",",fmt='%s') #delimiter=“,” 才能一个数据一个格
np.savetxt('/Users/nova.li/Desktop/workspace/对齐数据/6w_2104_2106_test.csv',test,delimiter=",",fmt='%s')
7. 读取某个文件的前多少行
import pandas as pd
fname = '/Users/nova.li/Desktop/workspace/对齐数据/6w_2104_2106_test.csv'
df = pd.read_csv(fname)
df = df.head(43418)
df.to_csv(fname, index=False)
8. 读取某个文件的后多少行
import pandas as pd
fname = '/Users/nova.li/Desktop/workspace/对齐数据/6w_2104_2106_label_mob1_test.csv'
df = pd.read_csv(fname)
df = df.tail(18608)
df.to_csv(fname, index=False)
9. 将某一列数据转化为整数
fname = '/Users/nova.li/Desktop/workspace/对齐数据/predict_res_2e2d6f4f_csv.csv'
df = pd.read_csv(fname)
#重新赋值方式
df['id'] = df['id'].astype('int')
df['model_label'] = df['model_label'].astype('int')
df.to_csv(fname, index=False)
10. 空值填充
import pandas as pd
fname = '/Users/nova.li/Desktop/workspace/对齐数据/predict_res_2e2d6f4f_csv.csv'
df = pd.read_csv(fname)
df.fillna(9999, inplace = True)
df.to_csv(fname, index=False)
#print(df.to_string())
我也不知道我一个做前端的为什么一下子就接触到python的东西了,总而言之,多学点东西总是好的,继续努力,今天也要加油鸭~
Pandas 数据的一些基本操作的更多相关文章
- Python的工具包[1] -> pandas数据预处理 -> pandas 库及使用总结
pandas数据预处理 / pandas data pre-processing 目录 关于 pandas pandas 库 pandas 基本操作 pandas 计算 pandas 的 Series ...
- 数据分析与展示——Pandas数据特征分析
Pandas数据特征分析 数据的排序 将一组数据通过摘要(有损地提取数据特征的过程)的方式,可以获得基本统计(含排序).分布/累计统计.数据特征(相关性.周期性等).数据挖掘(形成知识). .sort ...
- pandas小记:pandas数据输入输出
http://blog.csdn.net/pipisorry/article/details/52208727 数据输入输出 数据pickling pandas数据pickling比保存和读取csv文 ...
- mysql(三) 数据表的基本操作操作
mysql(三) 数据表的基本操作操作 创建表,曾删改查,主键,外键,基本数据类型. 1. 创建表 create table 表名( 列名 类型 是否可以为空, 列名 类型 是否可以为空 )ENGIN ...
- Pandas数据排序
Pandas数据排序 .sort_index() 在指定轴上根据索引进行排序,索引排序后内容会跟随排序 b = pd.DataFrame(np.arange(20).reshape(4,5),inde ...
- pandas数据操作
pandas数据操作 字符串方法 Series对象在其str属性中配备了一组字符串处理方法,可以很容易的应用到数组中的每个元素 t = pd.Series(['a_b_c_d','c_d_e',np. ...
- Pandas数据存取
pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA']) Pandas数据存取 Pandas可以存取多种介质类型数据, ...
- pandas 数据预处理
pandas 数据预处理 缺失数据处理 csv_data=''' A,B,C,D 1.0,2.0,3.0,4.0 5.6,6.0,,8.0 0.0,11.0,12.0,,''' import pand ...
- Pandas数据规整
Pandas数据规整 数据分析和建模方面的大量编程工作都是用在数据准备上的,有时候存放在文件或数据库中的数据并不能满足数据处理应用的要求 Pandas提供了一组高级的.灵活的.高效的核心函数和算法,它 ...
随机推荐
- Int 2e 与 Sysenter区别
参考:张银奎<软件调试>第八章 Int 2e: Windows将2e号向量专门用作系统调用,在启动早起初始化中断描述表时便注册好了适合的服务例程.因此当NtDll中的NtReadFile发 ...
- Mysql的undo、redo、binlog的区别
与不同引擎的关系 核心作用 生命周期 日志类型 undo log 属于innodb引擎独有 回滚,保证事务的"原子性",事务日志 事务开始前,以类似"快照&qu ...
- Gradient checking
所需文件:本地下载 Gradient Checking Welcome to the final assignment for this week! In this assignment you wi ...
- Python和java的选择
它是什么? Java是一种通用的面向对象的编程语言,主要用于开发从移动应用程序到Web到企业应用程序的各种应用程序. Python是一种高级的面向对象的编程语言,主要用于Web开发,人工智能,机器学习 ...
- python操作图片
时间:2018-11-30 记录:byzqy 标题:python实现图片操作 地址:https://blog.csdn.net/baidu_34045013/article/details/79187 ...
- NX二次开发-使用NXOPEN C++向导模板做二次开发
版本 NX9+VS2012 1.怎么往VS软件里添加VC,C#,VB向导模板 先到NX安装目录下UGOPEN文件夹里找到这三个文件夹 拷贝到VS的安装目录下 这里有几个注意事项,VS2017,VS20 ...
- inotify与rsync实现实时同步记录文档
目录 安装 配置 参考链接 安装 安装rsync yum -y install rsync 安装inotify-tools 这是一个实时监听文件变换的工具 wget -O /etc/yum.repos ...
- Python中正则表达式简介
目录 一.什么是正则表达式 二.正则表达式的基础知识 1. 原子 1)普通字符作为原子 2)非打印字符作为原子 3) 通用字符作为原子 4) 原子表 2. 元字符 1)任意匹配元字符 2)边界限制元字 ...
- elementui table的新增,编辑和删除
\ 新增 this.tableData.unshift(data); 编辑 this.$set(this.tableData,data.index,data); 删除 rows.splice(inde ...
- ysoserial CommonsColletions2分析
ysoserial CommonsColletions2分析 前言 此文章是ysoserial中 commons-collections2 的分析文章,所需的知识包括java反射,javassist. ...