一个很偶然的机会,主动出击挑战一个之前没有尝试过的新东西,在做的过程中需要处理一些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 数据的一些基本操作的更多相关文章

  1. Python的工具包[1] -> pandas数据预处理 -> pandas 库及使用总结

    pandas数据预处理 / pandas data pre-processing 目录 关于 pandas pandas 库 pandas 基本操作 pandas 计算 pandas 的 Series ...

  2. 数据分析与展示——Pandas数据特征分析

    Pandas数据特征分析 数据的排序 将一组数据通过摘要(有损地提取数据特征的过程)的方式,可以获得基本统计(含排序).分布/累计统计.数据特征(相关性.周期性等).数据挖掘(形成知识). .sort ...

  3. pandas小记:pandas数据输入输出

    http://blog.csdn.net/pipisorry/article/details/52208727 数据输入输出 数据pickling pandas数据pickling比保存和读取csv文 ...

  4. mysql(三) 数据表的基本操作操作

    mysql(三) 数据表的基本操作操作 创建表,曾删改查,主键,外键,基本数据类型. 1. 创建表 create table 表名( 列名 类型 是否可以为空, 列名 类型 是否可以为空 )ENGIN ...

  5. Pandas数据排序

    Pandas数据排序 .sort_index() 在指定轴上根据索引进行排序,索引排序后内容会跟随排序 b = pd.DataFrame(np.arange(20).reshape(4,5),inde ...

  6. pandas数据操作

    pandas数据操作 字符串方法 Series对象在其str属性中配备了一组字符串处理方法,可以很容易的应用到数组中的每个元素 t = pd.Series(['a_b_c_d','c_d_e',np. ...

  7. Pandas数据存取

    pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA']) Pandas数据存取 Pandas可以存取多种介质类型数据, ...

  8. 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 ...

  9. Pandas数据规整

    Pandas数据规整 数据分析和建模方面的大量编程工作都是用在数据准备上的,有时候存放在文件或数据库中的数据并不能满足数据处理应用的要求 Pandas提供了一组高级的.灵活的.高效的核心函数和算法,它 ...

随机推荐

  1. Android中Context解析

    Context概念 当我们访问当前应用的资源,启动一个新的activity的时候都需要提供Context. Context是一个抽象基类,我们通过它访问当前包的资源(getResources.getA ...

  2. linnux安装多台redis

    安装: 1.获取redis资源 wget http://download.redis.io/releases/redis-4.0.8.tar.gz 2.解压 tar xzvf redis-4.0.8. ...

  3. JavaWeb之分页查询

    时间:2016-12-11 01:41 1.分页的优点:    只查询一页,不需要查询所有数据,能够提高效率.2.分页数据    页面的数据都是由Servlet传递的    *   当前页:pageC ...

  4. Windows CMD .bat 批处理基础语法

    格式 @echo off 代码..... pause 不会逐行将命令打印. rem [注释] 关键字注释. :: [注释] 符号注释. echo 打印到控制台. >> 输出重定向.追加. ...

  5. SpringBoot博客开发之AOP日志处理

    日志处理: 需求分析 日志处理需要记录的是: 请求的URL 访问者IP 调用的方法 传入的参数 返回的内容 上面的内容要求在控制台和日志中输出. 在学习这部分知识的时候,真的感觉收获很多,在之前Spr ...

  6. 机器学习基本概念:batch_size、epoch、 iteration

    batch_size 单次训练用的样本数,通常为2^N,如32.64.128... 相对于正常数据集,如果过小,训练数据就收敛困难:过大,虽然相对处理速度加快,但所需内存容量增加. 使用中需要根据计算 ...

  7. 痞子衡嵌入式:MCUXpresso IDE下SDK工程在Build配置上与IAR,MDK差异

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE下SDK工程在Build配置上与IAR,MDK差异. 恩智浦 SW 团队每个季度都会公布 SDK.Tool ...

  8. Spring笔记(3)

    一.JDBC Template基本使用 1.开发步骤 1.1直接使用template 导入spring-jdbc和spring-tx坐标 <!-- JDBC--> <dependen ...

  9. python之数据库编程

    python之数据库编程 sqlite 1.前期准备工作 导入模块: import sqlite3 连接数据库 conn = sqlite3.connect("test.db") ...

  10. JSP(Java Server Pages)内置对象

    request对象 (1)访问请求参数 处理HTTP请求中的各项参数.在这些参数中,最常用的就是获取访问请求参数.当通过超链接的形式发送请求时,可以为该请求传递参数,这可以通过在超链接的后面加上问好& ...