Pandas 和 CSV文件读取导出小纪

news2024/10/5 19:15:38

要从CSV文件中访问数据,我们需要一个函数read_csv(),它以数据帧的形式检索数据。

read_csv() 语法:

pd.read_csv(filepath_or_buffer, sep=,, header=’infer’,  index_col=None, usecols=None, engine=None, skiprows=None, nrows=None) 

参数:
filepath_or_buffer: 它是要使用此函数检索的文件的位置。它接受文件的任何字符串路径或URL。
sep: 它代表分隔符,默认值为’,',如CSV(逗号分隔值)。
header: 它接受int、int的列表、用作列名的行号以及数据的开始。 如果没有传递名称,即, header=None,则第一列显示为0,第二列显示为1,依此类推。
usecols: 它仅用于从CSV文件中检索选定的列。
nrows: 它表示要从数据集中显示的行数。
index_col: 在默认为None的时候,pandas会自动将第一列作为索引,并额外添加一列。所以大多我们会使用index_col=0,直接将第一列作为索引,不额外添加列。
skiprows: 跳过新数据框中传递的行。

使用read_csv 读取csv文件


# Import pandas
import pandas as pd
  
# reading csv file 
pd.read_csv("example1.csv")

在这里插入图片描述
使用sep


# headbrain1 = "totalbill_tip, sex:smoker, day_time, size
# 16.99, 1.01:Female|No, Sun, Dinner, 2
# 10.34, 1.66, Male, No|Sun:Dinner, 3
# 21.01:3.5_Male, No:Sun, Dinner, 3
#23.68, 3.31, Male|No, Sun_Dinner, 2
# 24.59:3.61, Female_No, Sun, Dinner, 4
# 25.29, 4.71|Male, No:Sun, Dinner, 4"
  
# Importing pandas library
import pandas as pd
  
# Load the data of csv
df = pd.read_csv('headbrain1.csv',
                 sep='[:, |_]',
                 engine='python')
  
# Print the Dataframe
df

在这里插入图片描述
使用usecols


df = pd.read_csv('example1.csv',
        header=0,
        usecols=["tip", "sex", "time"])
  
df

在这里插入图片描述
使用index_col


df = pd.read_csv('example1.csv',
        header=0,
        index_col=["sex", "tip"],
        usecols=["tip", "sex", "time"])
  
df

在这里插入图片描述
使用nrows

df = pd.read_csv('example1.csv',
        header=0,
        index_col=["tip", "sex"],
        usecols=["tip", "sex", "time"],
                nrows=5)
  
df

在这里插入图片描述
使用skiprows

pd.read_csv("example1.csv", skiprows = [1,12])

在这里插入图片描述

导出dataframe数据到csv

假设你正在做一个数据科学项目,你要处理其中一个最重要的任务,即数据清理。 数据清理后,您不希望丢失清理后的数据框,因此希望将清理后的数据框另存为CSV。 让我们看看如何将Pandas DataFrame导出为CSV文件。 Pandas使我们能够通过其内置的to_csv()函数做到这一点。

首先,让我们创建一个示例数据框


# importing the module
import pandas as pd
 
# making the data
scores = {'Name': ['a', 'b', 'c', 'd'],
          'Score': [90, 80, 95, 20]}
 
# creating the DataFrame
df = pd.DataFrame(scores)
 
# displaying the DataFrame
print(df)

在这里插入图片描述


# converting to CSV file
df.to_csv("your_name.csv")

在这里插入图片描述
在这里插入图片描述
如果你得到一个UnicodeEncodeError,只需要传递带有’utf-8’值的编码参数。

# converting to CSV file
df.to_csv("your_name.csv", encoding = 'utf-8')

可自定义参数

1.包括索引
您可以选择是否要添加自动索引。 默认值为True。 将其设置为False。

# converting to CSV file
df.to_csv('your_name.csv', index = False)

在这里插入图片描述
2.仅导出选定的列
如果只想导出几个选定的列,可以将其作为’columns = [“col1”,“col2”]传递给_csv()

# converting to CSV file
df.to_csv("your_name.csv", columns = ['Name'])

在这里插入图片描述
3.导出标题
您可以通过将header参数设置为True或False来选择是否要导出列名。 默认值为True。

# converting to CSV file
df.to_csv('your_name.csv', header = False) 

4.处理NaN
如果数据框具有NaN值,则可以选择将其替换为其他字符串。 默认值为“”。

# converting to CSV file
df.to_csv("your_name.csv", na_rep = 'nothing')

5.用别的东西分开
如果不是用逗号分隔值,我们可以使用自定义值来分隔它。

# converting to CSV file
# separated with tabs
df.to_csv("your_name.csv", sep ='\t')

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/748377.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue启动编译时报错:134(内存溢出)

项目环境:win7 vue2 webpack2 最近开发过程中项目莫名其妙就起不来了,报错大致如下: 经过一番搜索,尝试了多种方法都不行,比如: 1. npm install increase-memory-limit npm install cross-env 在package.json中添加…

首个!AI开发者创作激励计划开启,有成长、有收入

各种视频网站都有什么创作激励!那什么时候有专属于AI开发者的创作激励?好!那AI开发者的福利来了!!既能潜心进行模型开发,又能提升技术能力,还能领一份创作金!!飞桨AI Stu…

Codeforces Round 882 (Div. 2)(视频讲解A——D)

[TOC](Codeforces Round 882 (Div. 2)&#xff08;视频讲解A——D&#xff09;) 讲解在B站&#xff1a;Codeforces Round 882 (Div. 2)&#xff08;视频讲解A——D&#xff09; A The Man who became a God #include<bits/stdc.h> #define endl \n #define INF 0x3f3…

k8s 大量 pod 处于 ContainerStatusUnknown 状态

如图所示&#xff0c;nexus 正常运行&#xff0c;但产生了大量的状态不明的 pod&#xff0c;原因也无从所知 解决办法&#xff0c;删除多余的 pod&#xff0c;一个一个删除&#xff0c;非常费劲 获取 namespace 中状态为 ContainerStatusUnknown 的 pod&#xff0c;并删除 …

从零学习微服务

更新中&#xff0c;关注不断更… 这里讲的是基于springboot和springboot alibaba的微服务&#xff0c;Spring Boot和Spring Boot Alibaba都是基于Spring框架的开源框架&#xff0c;用于简化应用程序的开发和部署。 这篇文章里会介绍微服务的整体概念&#xff0c;目前国内常用的…

CSDN周赛62期反馈及简要题解

持续了十期的《计算之魂》主题周赛告一段落&#xff0c;可能上周就已经告一段落了&#xff0c;以致于也出现了重复的考题。这本书确实不错&#xff0c;里面提到的计算机思维我认为是理解和学习计算机科学的基础。第一次读此书的时候就一口气读到第八章&#xff0c;读到精彩之处…

漏洞复现 || Hadoop未授权访问反弹Shell漏洞

免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得危害网络安全,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接…

ppt转pdf怎么转换?推荐这几种转换方法

ppt转pdf怎么转换&#xff1f;PPT转PDF可以确保演示文稿的格式、布局和字体在不同设备上的一致性。PDF文件在不同操作系统和软件中都能以相同的方式呈现&#xff0c;避免了因PPT文件打开时出现格式错误或乱码。可能很多人还不知道如何进行转换&#xff0c;下面就给大家推荐几种…

gitee 使用

1.打开git bash 2.cd 进入到合适位置 3.git clone 项目 4.配置用户名和email&#xff08;不然没法记录谁操作的&#xff09;

unordered系列的底层结构——哈希表

目录 哈希概念 哈希冲突 哈希函数 解决哈希冲突的方法 闭散列 线性探测 线性探测的实现 ​编辑 二次探测 开散列 开散列概念 开散列的实现 开散列增容 开散列的思考 哈希概念 顺序结构以及平衡树中&#xff0c;元素关键码与其存储位置之间没有对应的关系&#xf…

https证书已经部署到宝塔,但访问网站还显示不生效问题解决

先说解决方法&#xff1a;重启Nginx服务器即可&#xff0c;可以在宝塔面板右上角直接重启即可解决。 过程 腾讯云的https免费证书只有一年有效期&#xff0c;而且续期不能在原证书上续&#xff0c;只能替换。但是我替换后&#xff0c;访问网站异常。如下图&#xff1a; 可以看…

TypeScript 中的【声明合并】规则

概念&#xff1a; 在TS中&#xff0c;如果定义了多个相同命名的函数&#xff0c;接口或者class 类&#xff0c;那么它们会自动合并成一个类型 函数的合并&#xff1a; 前面章节讲解的函数重载就是使用了定义多个函数的类型进行合并&#xff1a; function reverse(x: number):…

UE4 关于使用Webbrowser插件遇到的问题以及解决办法

1.无法播放网页视频&#xff0c;这是因为UE4的WebBrowser自带的cef3为3071版本&#xff0c;默认不支持h264等直播流&#xff0c;导致web里的直播流无法播放 解决办法&#xff1a;第一种办法&#xff0c;重新编译了cef源码&#xff0c;改成支持H.264&#xff0c;然后在UE4安装目…

2023AU软件,Adobe Audition 全系列软件下载安装教程

Audition 是一款强大的音频编辑软件&#xff0c;能够帮助用户实现各种音频剪辑和混音操作。下面是关于Audition 2023软件的安装教程&#xff0c;供大家参考。 步骤一&#xff1a;下载Audition 通过全系列网站下载或者百度网盘下载都行 步骤二&#xff1a;运行安装程序 下载…

node版本安装包大全

node所有的版本&#xff1a; https://nodejs.org/dist/

利用ChatGPT场景化学习英语听说读写

大家好&#xff0c;我是可夫小子&#xff0c;关注AIGC、读书和自媒体。解锁更多ChatGPT、AI绘画玩法。加我&#xff0c;备注&#xff1a;chatgpt&#xff0c;拉你进群。 我们从初中就开始学习英语&#xff0c;到大学也有小十年&#xff0c;在这个过程中&#xff0c;我们投入了很…

Java OkHttp3 异常:gzip finished without exhausting source 解决办法

今天在开发中遇见一个问题&#xff0c;同样一个请求&#xff0c;okhttp调用时候&#xff0c;报错gzip finished without exhausting source&#xff0c;浏览器和postman确是正常返回结果 String getsync OkHttpUtils.builder().url(wfsSearchUrl)// .addHeader("Accept-E…

【线程池管理工具-Hippo4j】

&#x1f680; 线程池管理工具-Hippo4j &#x1f680; &#x1f332; AI工具、AI绘图、AI专栏 &#x1f340; &#x1f332; 如果你想学到最前沿、最火爆的技术&#xff0c;赶快加入吧✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;CSDN-Java领域优质创作者&#…

【 -bash: /usr/bin/id: 参数列表过长】

这个错误提示说明在执行 /etc/profile 或者 /etc/profile.d 目录下的脚本时&#xff0c;出现了参数列表过长的问题。这可能是由于环境变量或者执行的命令导致的。 要解决这个问题&#xff0c;可以尝试以下方法&#xff1a; 检查脚本内容&#xff1a;检查 /etc/profile 和 /et…

java后端接口API性能优化技巧

微信公众号访问链接&#xff1a;java后端接口API性能优化技巧 推荐文章&#xff1a; 1、springBoot对接kafka,批量、并发、异步获取消息,并动态、批量插入库表; 2、SpringBoot用线程池ThreadPoolTaskExecutor异步处理百万级数据; 3、SpringBoot用线程池ThreadPoolExecutor处理…