pandas read excel or csv
import pandas as pd """
pandas doc:
df.dtypes 查看数据每column 数据类型
id int64
x0 float64
df.reindex 查看多少行多少列的数据结构 [569 rows x 21 columns]>
df.reindex_axis 查看数据行列带数据
df.info() 查看数据每列non-null 情况
df.head(1).values 索引查看前一行数据.默认取前五行
[[ 1.33000e+02 4.49512e-01 nan 4.13178e-01 3.03781e-01
-1.23848e-01 -1.84227e-01 -2.19076e-01 2.68537e-01 1.59960e-02
-7.89267e-01 -3.37360e-01 -7.28193e-01 -4.42587e-01 -2.72757e-01
-6.08018e-01 -5.77235e-01 -5.01126e-01 1.43371e-01 -4.66431e-01
-5.54102e-01]]
......
......
df.tail(1) 查看最后一行数据
df[n:n+k].values取出二维数组查看第n到n+k行数据
df转numpy
df.to_numpy()[:2]取前2行:
[[ 1.330000e+02 4.495120e-01 nan 4.131780e-01 3.037810e-01
-1.238480e-01 -1.842270e-01 -2.190760e-01 2.685370e-01 1.599600e-02
-7.892670e-01 -3.373600e-01 -7.281930e-01 -4.425870e-01 -2.727570e-01
-6.080180e-01 -5.772350e-01 -5.011260e-01 1.433710e-01 -4.664310e-01
-5.541020e-01]
[ 2.730000e+02 -1.245485e+00 -8.423170e-01 -1.255026e+00 nan
-4.263010e-01 -1.088781e+00 -9.763920e-01 -8.988980e-01 9.834960e-01
4.570200e-02 -4.936390e-01 3.486200e-01 -5.524830e-01 -5.268770e-01
2.253098e+00 -8.276200e-01 -7.807390e-01 -3.769970e-01 -3.102390e-01
1.763010e-01]]
......
......
......
df.describe() :数据分析获取每列的数量,均值,标准差,min,max,25位,50位,75位
id x0 ... x18 x19
count 569.000000 5.690000e+02 ... 5.690000e+02 5.690000e+02
mean 284.000000 2.811951e-08 ... -5.272408e-09 1.230228e-08
std 164.400426 1.000880e+00 ... 1.000880e+00 1.000880e+00
min 0.000000 -2.029648e+00 ... -1.532890e+00 -1.096968e+00
25% 142.000000 -6.893850e-01 ... -6.516810e-01 -5.851180e-01
50% 284.000000 -2.150820e-01 ... -2.194300e-01 -2.299400e-01
75% 426.000000 4.693930e-01 ... 3.556920e-01 2.886420e-01
max 568.000000 3.971288e+00 ... 7.071917e+00 9.851593e+00 数据转置:行转列 df.T
df.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')据排序:axis 0行,1 column
默认axis=0 根据列排序也就是索引,如果指定by则按照对应列排序,axis=1时,by根据行填写行名
ascending:布尔型,True则升序,可以是[True,False],即第一字段升序,第二个降序
......
......
数据选取:
df['x0'].values 选取某一列数据
df[:n]前两行数据
或者使用df.loc[0]取索引0行数据
df.loc[0:1]取索引0到1行数据
df.loc[:,"x0":"x3"]:,单独取某列所有行用df.loc[:,"x3"]
取所有行的x0到x3之间的列
只取某几列比如x0,x7 : df.loc[:,["x0","x7"]]
df.iloc[0]取索引一行
df.iloc[0:4] 前三行左闭右开
取列df.iloc: print(df.iloc[:,0:4]) 前三列不支持“列名”
id x0 x1 x2
0 133 0.449512 NaN 0.413178
1 273 -1.245485 -0.842317 -1.255026
2 175 -1.549664 -1.126219 -1.546652
取第一行第二列:
print(df.iloc[1,2]) or print(df.at[0,"x2"])
......
......
缺失值填充:
print(df.fillna(value=5)) NaN
0 133 0.449512 5.000000 0.413178 ... -0.501126 0.143371 -0.466431 -0.554102
1 273 -1.245485 -0.842317 -1.255026 ... -0.780739 -0.376997 -0.310239 0.176301
......
......
均值查看:
print(df.mean()) mean(0)行 1 列 求和列:
df.loc["rows_sum"]=df.apply(lambda x:x.sum())
print(df)
567 2.0 1.579888 0.456187 ... 1.424827 0.237036 0.293559
568 39.0 -0.183840 0.356123 ... 0.133639 -0.819980 -0.229940
rows_sum 161596.0 0.000016 1.247216 ... -0.000005 -0.000003 0.000007
求和行:
df["rows_sum"]=df.apply(lambda x:x.sum(),axis=1)
print(df)
id x0 x1 ... x18 x19 rows_sum
0 133 0.449512 NaN ... -0.466431 -0.554102 128.790148
1 273 -1.245485 -0.842317 ... -0.310239 0.176301 266.205423
2 175 -1.549664 -1.126219 ... 0.795207 -0.149751 160.581688
......
......
""" df=pd.read_csv('./datasets/breast_a.csv')
df["rows_sum"]=df.apply(lambda x:x.sum(),axis=1)
print(df) 数据列名称修改:
df=pd.read_csv('./datasets/breast_a.csv',index_col=False)
new_df=pd.DataFrame(df)
df1=new_df.rename(columns={"x0":"fid0","x1":"fid1"})
df1.to_csv(path_or_buf='./datasets/breast_a.csv',index=False,encoding="utf-8")
id fid0 fid1 x2 ... x16 x17 x18 x19
0 133 0.449512 NaN 0.413178 ... -0.501126 0.143371 -0.466431 -0.554102
1 273 -1.245485 -0.842317 -1.255026 ... -0.780739 -0.376997 -0.310239 0.176301
2 175 -1.549664 -1.126219 -1.546652 ... -1.057501 -1.913447 0.795207 -0.149751
数据替换某一列
# print(pd.read_csv('./datasets/breast_a.csv',index_col=False))
new_df["x3"].replace(0.303781,9999,inplace=True)
print(new_df.x3)
替换所有:
df.replace(to_replace, value) 前面是需要替换的值,后面是替换后的值。
pandas read excel or csv的更多相关文章
- 深入理解pandas读取excel,txt,csv文件等命令
pandas读取文件官方提供的文档 在使用pandas读取文件之前,必备的内容,必然属于官方文档,官方文档查阅地址 http://pandas.pydata.org/pandas-docs/versi ...
- pandas 读写excel 操作(按索引和关键字读取行和列,写入csv文件)
pandas读写excel和csv操作总结 按索引读取某一列的值 按关键字读取某一列的值 按关键字查询某一行的值 保存成字典并写入新的csv import pandas as pd grades=pd ...
- Pandas 基础(4) - 读/写 Excel 和 CSV 文件
这一节将分别介绍读/写 Excel 和 CSV 文件的各种方式: - 读入 CSV 文件 首先是准备一个 csv 文件, 这里我用的是 stock_data.csv, 文件我已上传, 大家可以直接下载 ...
- pandas处理excel文件和csv文件
一.csv文件 csv以纯文本形式存储表格数据 pd.read_csv('文件名'),可添加参数engine='python',encoding='gbk' 一般来说,windows系统的默认编码为g ...
- Python处理Excel生成CSV文档
Python是一种解释型的.动态数据类型的.面向对象的高级程序设计语言.拥有丰富的处理数据和文本类库,并且得益于它是一种解释型的语言,在程序修改和功能扩展上,可以很容易做到大规模的调整.综合考虑Pyt ...
- python读写word、excel、csv、json文件
http://blog.csdn.net/pipisorry/article/details/50368044 python读写word文档 (include wps)将word文档转换成txt文档 ...
- pyhton读入Excel和csv数据文件
pyhton读入Excel和csv数据文件#file 数据文件的输入输出操作(主要包括Excel表格和csv表格文件)import pandas as pd #pyhton读入数据必须要导入panda ...
- python pandas写入excel文件
pandas读取.写入csv数据非常方便,但是有时希望通过excel画个简单的图表看一下数据质量.变化趋势并保存,这时候csv格式的数据就略显不便,因此尝试直接将数据写入excel文件. pandas ...
- PHP链式操作输出excel(csv)
工作中经常会遇到产品运营让导出一些简单的比较规范的数据,这时候要是有一个简单的方法可以用就简单多了.下面是我的一个输出简单的excel(csv)的方法类,用到了链式操作.说到链式操作,在jquery中 ...
随机推荐
- npx工具
参考文章:阮一峰的网络日志 - npx 使用教程 npx的作用 1.调用项目模块 即node_modules目录下的模块,而不用加上相对路径 $ npx mocha --version 原本应该是这样 ...
- python练手
练习实例3 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 程序分析: 假设该数为 x. 1.则:x + 100 = n2, x + 100 + 16 ...
- QT离线安装包
各个版本下载链接http://mirrors.ustc.edu.cn/qtproject/archive/qt http://www.qtcn.org/bbs/i.php
- python之路之css
方式三 方式四 <style type="text/css"> a:link{ color: red; } a:visited { color: blue; } a:h ...
- python之路之io多路复用
1.实现io多路复用利用select s1同时接受三个客户端(开启了三个服务器端口) #!/usr/bin/env python # -*- coding: utf-8 -*- import sock ...
- 第三十九篇 入门机器学习——Numpy.array的基础操作——合并与分割向量和矩阵
No.1. 初始化状态 No.2. 合并多个向量为一个向量 No.3. 合并多个矩阵为一个矩阵 No.4. 借助vstack和hstack实现矩阵与向量的快速合并.或多个矩阵快速合并 No.5. 分割 ...
- <meta charset="utf-8" name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes"/>
<meta charset="utf-8" name="viewport" content="width=device-width, initi ...
- 1167E - Range Deleting 双指针
题意:给出n个数的序列,并给出x,这n个数的范围为[1,x],f(L,R)表示删除序列中取值为[l,r]的数,问有几对L,R使得操作后的序列为非递减序列 思路:若[l,r]成立,那么[l,r+1],. ...
- AJAX-状态属性
XMLHttpRequest对象的readyState属性 作用:表示xhr对象的请求状态 值:由0到4表示5个状态 0:请求尚未初始化 1:已经打开到WEB服务器的连接,正在向服务器发送请求 2:请 ...
- 「模板」AC自动机
目录 说明 普通版本 询问更改版 拓扑优化版本 说明 这篇博客只挂模板,具体分析请膜拜大佬 hyfhaha 大佬. 普通版本 题目传送门 #include<cstdio> #include ...