to_csvread_csvisnullisnanisna
文章目录
- dataframe保存到csv
- 读取csv到dataframe
- 带index保存
- 不带index保存
- parquet
- isnull、isnan、isna的用法
import numpy as np
import pandas as pd
dataframe保存到csv
df.to_csv(path_or_buf,sep,na_rep,columns,header,index)
参数解析
path_or_buf:字符串,放文件名、相对路径、文件流等;
sep:字符串,分隔符,跟read_csv()的一个意思
na_rep:字符串,将NaN转换为特定值
columns:列表,指定哪些列写进去
header:默认header=0,如果没有表头,设置header=None,表示我没有表头呀!
index:关于索引的,默认True,写入索引
读取csv到dataframe
pd.read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, iterator=False, chunksize=None, compression='infer', thousands=None, decimal=b'.', lineterminator=None, quotechar='"',quoting=0, escapechar=None, comment=None, encoding=None, dialect=None, tupleize_cols=False, error_bad_lines=True, warn_bad_lines=True, skipfooter=0, skip_footer=0, doublequote=True, delim_whitespace=False, as_recarray=False,compact_ints=False, use_unsigned=False, low_memory=True, buffer_lines=None, memory_map=False, float_precision=None)
常用参数:
filepath_or_buffer:(这是唯一一个必须有的参数,其它都是按需求选用的),文件所在处的路径
sep:指定分隔符,默认为逗号’,’
delimiter : str, default None,定界符,备选分隔符(如果指定该参数,则sep参数失效)
header:int or list of ints, default ‘infer’,指定哪一行作为表头。默认设置为0(即第一行作为表头),如果没有表头的话,要修改参数,设置header=None
names:指定列的名称,用列表表示。一般我们没有表头,即header=None时,这个用来添加列名就很有用啦!
index_col:指定哪一列数据作为行索引,可以是一列,也可以多列。多列的话,会看到一个分层索引
prefix:给列名添加前缀。如prefix=“x”,会出来"x1"、“x2”、"x3"酱纸
nrows : int, default None,需要读取的行数(从文件头开始算起)
encoding:乱码的时候用这个就是了,官网文档看看用哪个:
skiprows : list-like or integer, default None,需要忽略的行数(从文件开始处算起),或需要跳过的行号列表(从0开始)
参考链接:pd.read_csv() 、to_csv() 之 常用参数
df1 = pd.DataFrame(np.random.randint(2,10,(6,3)),columns=list('XYZ'),index=list('ABCDEF'))
df1
X | Y | Z | |
---|---|---|---|
A | 5 | 5 | 2 |
B | 2 | 2 | 5 |
C | 9 | 4 | 9 |
D | 8 | 6 | 2 |
E | 9 | 3 | 6 |
F | 4 | 4 | 3 |
带index保存
df1.to_csv('df_test.csv',index=True)
# 默认读取时会新增index
df2 = pd.read_csv('df_test.csv')
df2.head()
Unnamed: 0 | X | Y | Z | |
---|---|---|---|---|
0 | A | 5 | 5 | 2 |
1 | B | 2 | 2 | 5 |
2 | C | 9 | 4 | 9 |
3 | D | 8 | 6 | 2 |
4 | E | 9 | 3 | 6 |
# 指定索引为那一列
df2 = pd.read_csv('df_test.csv',index_col=0)
df2.head()
X | Y | Z | |
---|---|---|---|
A | 5 | 5 | 2 |
B | 2 | 2 | 5 |
C | 9 | 4 | 9 |
D | 8 | 6 | 2 |
E | 9 | 3 | 6 |
不带index保存
df1.to_csv('df_test1.csv',index=False)
df2 = pd.read_csv('df_test1.csv')
df2.head()
X | Y | Z | |
---|---|---|---|
0 | 5 | 5 | 2 |
1 | 2 | 2 | 5 |
2 | 9 | 4 | 9 |
3 | 8 | 6 | 2 |
4 | 9 | 3 | 6 |
df2 = pd.read_csv('df_test1.csv',index_col=0)
df2.head()
Y | Z | |
---|---|---|
X | ||
5 | 5 | 2 |
2 | 2 | 5 |
9 | 4 | 9 |
8 | 6 | 2 |
9 | 3 | 6 |
parquet
train = pd.read_parquet(path+'train_fold_'+str(fold)+'.parquet')
isnull、isnan、isna的用法
np.isnan()多用于单个值的检验,pd.isnull()用于对一个DataFrame或Series(整体)的检验
df3 = pd.DataFrame(np.random.randint(2,10,(5,3)),columns=list('XYZ'),index=list('ABCDE'))
df3
X | Y | Z | |
---|---|---|---|
A | 9 | 6 | 7 |
B | 5 | 2 | 8 |
C | 3 | 9 | 2 |
D | 7 | 6 | 6 |
E | 6 | 6 | 9 |
df3.iloc[0,0] = np.nan
df3.iloc[3,0] = np.nandf3.iloc[2,1] = np.nan
df3.iloc[4,1] = np.nan
df3
X | Y | Z | |
---|---|---|---|
A | NaN | 6.0 | 7 |
B | 5.0 | 2.0 | 8 |
C | 3.0 | NaN | 2 |
D | NaN | 6.0 | 6 |
E | 6.0 | NaN | 9 |
# np.isnan()多用于单个值的检验,pd.isnull()用于对一个DataFrame或Series(整体)的检验。
display (df3[df3['Y'].notnull()==False].head())
display (df3[df3['Y'].isnull()].head())
display (df3[df3['Y'].isna()].head())
display (df3[np.isnan(df3['Y'])].head())
display (df3[df3['Y'].isnan()].head()) # 会报错
X | Y | Z | |
---|---|---|---|
C | 3.0 | NaN | 2 |
E | 6.0 | NaN | 9 |
X | Y | Z | |
---|---|---|---|
C | 3.0 | NaN | 2 |
E | 6.0 | NaN | 9 |
X | Y | Z | |
---|---|---|---|
C | 3.0 | NaN | 2 |
E | 6.0 | NaN | 9 |
X | Y | Z | |
---|---|---|---|
C | 3.0 | NaN | 2 |
E | 6.0 | NaN | 9 |
---------------------------------------------------------------------------AttributeError Traceback (most recent call last)<ipython-input-15-d3370cf9107e> in <module>()4 display (df3[df3['Y'].isna()].head())5 display (df3[np.isnan(df3['Y'])].head())
----> 6 display (df3[df3['Y'].isnan()].head()) # 会报错~\Anaconda3\lib\site-packages\pandas\core\generic.py in __getattr__(self, name)4370 if self._info_axis._can_hold_identifiers_and_holds_name(name):4371 return self[name]
-> 4372 return object.__getattribute__(self, name)4373 4374 def __setattr__(self, name, value):AttributeError: 'Series' object has no attribute 'isnan'
to_csvread_csvisnullisnanisna相关推荐
最新文章
- 【转】每天一个linux命令(31): /etc/group文件详解
- PXE高效批量安装和Kickstart无人值守安装——真正完成批量自动安装
- epoll socket 服务端中read和write的返回值讨论
- 阿里云 超级码力在线编程大赛初赛 第1场(第245名)
- 事理图谱概念辨析及其与风险标签分类结合的应用探讨
- java敏感异常是什么_java中的异常是什么?
- hibernate 中的一级缓存 二级缓存
- 让你不差钱的9款开源网管工具
- es 修改拼音分词器源码实现汉字/拼音/简拼混合搜索时同音字不匹配
- 系统指定的路径不存在,怎么办
- 小程序云开发之--微信公众号文章采集篇
- 【百练】护林员盖房子
- [蓝桥杯]三升序列(Python实现)
- Springboot集成datax方案小记
- MybatisPlus代码生成器实现只覆盖指定文件
- VMware发布Linux虚拟桌面技术预览版
- 告别第三方检测,教你用Windows自带工具检测!
- STM32 SPI+DMA 驱动 SRAM LY68L6400SLIT 应用笔记
- 系统分析师易错题整理
- 四位行波进位加法器_【HDL系列】超前进位加法器原理与设计
热门文章
- 升级python(2.7-3.6.2)
- “耐撕”团队 2016.03.31 站立会议
- 抛物线、导弹线轨迹计算
- 给Lisp程序员的Python简介
- Redis的安装过程步骤
- 接口测试--apipost参数定位
- 软件测试--接口测试入门
- stm32实验报告心得体会_嵌入式第9次实验报告
- python中isinstance是什么意思_isinstance在python中的意思是什么?
- java 编码解码_深入解析Java中的编码转换以及编码和解码操作