pandas库

  • 1.读取txt文件
    • 1.1 pd.read_table()/pd.read_csv()
    • 1.2.结果显示
  • 2. DataFrame对象的创建
    • 2.1 直接采用类似字典的操作
    • 2.2 使用pd.Series
  • 3.pandas DataFrame相关属性/方法
    • 3.1 df.values
    • 3.2 df.columns
    • 3.3 df.index
    • 3.4 df.axes
    • 3.5 df.shape
    • 3.6 df.replace
    • 3.7 df.to_excel
  • 4.对齐显示
  • 5.保存新的sheet至已有excel文件
  • 参考文献

1.读取txt文件

若有下列一个txt文件,这里介绍使用pandas的读取方法。

1.1 pd.read_table()/pd.read_csv()

可以使用 pd.read_table()/pd.read_csv()来读取。

注意到不同元素之间以空格分隔,使用sep=" "

假如只需要读取第1和2列,usecols=[1,2]

由于此txt没有header,为了读取数据方便,添加title,names=["index","a", "b"]

为了演示,这里只读取五行,nrows=5

import pandas as pd
datatxt = pd.read_table(filepath_or_buffer=r'***\*.txt', header=None,usecols=[1,2],names=["index","a", "b"],sep=" ",nrows=5,)
print(datatxt)
print(datatxt["a"].values[:])

1.2.结果显示

可以看到,正确输出了第1列前5个数据,且格式为numpy.ndarray,方便进行下一步的数据处理。

             a           b
0   -16.203125   133.50000
1    25.390625    32.28125
2  1307.000000    76.81250
3  2166.000000   115.31250
4   -19.984375  1694.00000[ -16.203125   25.390625 1307.       2166.        -19.984375]

2. DataFrame对象的创建

创建如下一个对象:

#out:num lower upper other
0    1     a     A     #
1    2     b     B     ¥
2    3     c     C     %

2.1 直接采用类似字典的操作

import pandas as pd
df=pd.DataFrame()df["num"]=[1,2,3]
df["lower"]=["a","b","c"]
df["upper"]=["A","B","C"]
df["other"]=["#","¥","%"]
print(df)

2.2 使用pd.Series

import pandas as pd
a=pd.Series([1,2,3])
b=pd.Series(["a","b","c"])
c=pd.Series(["A","B","C"])
d=pd.Series(["#","¥","%"])
df=pd.DataFrame({"num":a,"lower":b,"upper":c,"other":d})

此例中a,b,c,d都没有index对象,可以直接使用list类型。

3.pandas DataFrame相关属性/方法

首先创建一个pandas DataFrame对象。

import pandas as pd
a=pd.Series([1,2,3])
b=pd.Series(["a","b","c"])
c=pd.Series(["A","B","C"])
d=pd.Series(["#","¥","%"])
df=pd.DataFrame({"num":a,"lower":b,"upper":c,"other":d})#out:num lower upper other
0    1     a     A     #
1    2     b     B     ¥
2    3     c     C     %

如下属性、方法:

3.1 df.values

#out:
array([[1, 'a', 'A', '#'],[2, 'b', 'B', '¥'],[3, 'c', 'C', '%']], dtype=object)

3.2 df.columns

#Out:
Index(['num', 'lower', 'upper', 'other'], dtype='object')

3.3 df.index

#Out:
RangeIndex(start=0, stop=3, step=1)

3.4 df.axes

#Out:
[RangeIndex(start=0, stop=3, step=1),Index(['num', 'lower', 'upper', 'other'], dtype='object')]

3.5 df.shape

#Out:
(3, 4)

3.6 df.replace

如把此dataframe对象’upper’列中'A'修改成'D','B'修改成'E',可使用以下操作:

df.replace({'upper':{'A':'D','B':'E'}})

3.7 df.to_excel

需要安装包openpyxlxlsxwriter

常用设置如下:

df.to_excel("***.xlsx", sheet_name="***", index=False, header=True)

4.对齐显示

参考python中pandas如何输出完整、对齐的表格,加上以下两句,可做微调,效果不是非常好~

pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
   num lower upper other
0    1     a     A     #
1    2     b     B    ¥
2    3     c     C     %

5.保存新的sheet至已有excel文件

添加一个sheet至已有的excel,如果该excel中已经存在sheet,直接使用pd.to_excel则会把已有sheet清掉。

为避免出现该情况,可以使用pd.ExcelWriter进行append操作:

with pd.ExcelWriter('output.xlsx',mode='a') as writer:  df.to_excel(writer, sheet_name='Sheet_name_3')

参考文献

[1] https://mp.weixin.qq.com/s?src=11&timestamp=1595553612&ver=2479&signature=NPYGmqdAKo6EFUCUp7CzKYe81ToH0oaLYr8t2JVgjJHQflW9e-y9XS2fl3x72yRX6BGQ*9iejYpSYaX2FM-je27Yfvs1x8r8L6oOATj2XB4YQMOSmJMzmY5qM0MlrNxV&new=1
[2] https://pandas.pydata.org/docs/reference/api/pandas.read_table.html
[3] python中pandas如何输出完整、对齐的表格
[4] pd.ExcelWriter

pandas库的使用相关推荐

  1. Pandas库常用函数和操作

    目录 1. DataFrame 处理缺失值  dropna() 2. 根据某维度计算重复的行   duplicated().value_counts() 3. 去重  drop_duplicates( ...

  2. 【Pandas库】(6) 索引操作--改、查、高级索引

    各位同学好,今天我和大家分享一下Pandas库的索引操作中的修改值.查找值.高级索引. 首先,我们先定义两个变量ps1存放Series数据,pd1存放DataFrame数据,以便后续操作. impor ...

  3. 【Pandas库】(5) 索引操作--增、删

    各位同学好,今天我向大家介绍一下pandas库中的索引操作--增.删. 1. 增加 1.1 对series操作 方法一:在原有数据上增加,改变原有数据. Series名[新标签名] = 新标签名对应的 ...

  4. 【Pandas库】(4) 索引操作--重新生成索引

    各位同学好,今天和大家分享一下pandas库的索引操作--重新生成索引. 本文主要介绍如何重新生成Series类型和DataFrame类型的索引. (1)Series类型重新生成索引 方法: 变量 = ...

  5. 【Pandas库】(3) DataFrame的创建方法及基本操作

    各位同学好,今天给大家介绍一下Pandas库中DataFrame类型数据的创建方法和基本操作. 文章内容如下: (1)使用字典类创建. 字典类有:①数组.列表.元组构成的字典:②Series构造的字典 ...

  6. 【Pandas库】(2) Series的基本操作方法

    各位同学好,今天和大家分享一下Pandas库中Series的基本操作方法. 内容有:①检查缺失值:②通过索引获取数据:③布尔索引:④name属性:⑤读取前几行数据:⑥读取后几行数据. 首先我们先定义一 ...

  7. 【Pandas库】(1) Series的创建方法

    各位同学大家好,今天和大家分享一下Pandas库中Series的创建方法. 文章主要介绍了使用 列表.数组.字典 三种方法创建Series. 介绍了 如何查看Series索引和值.如何让使用字典生成的 ...

  8. 【python教程入门学习】Pandas库下载和安装

    Python 官方标准发行版并没有自带 Pandas 库,因此需要另行安装.除了标准发行版外,还有一些第三方机构发布的 Python 免费发行版, 它们在官方版本的基础上开发而来,并有针对性的提前安装 ...

  9. python pandas库读取excel/csv中指定行或列数据详解

    通过阅读表格,可以发现Pandas中提供了非常丰富的数据读写方法,下面这篇文章主要给大家介绍了关于python利用pandas库读取excel/csv中指定行或列数据的相关资料,需要的朋友可以参考下 ...

  10. python pandas库——pivot使用心得

    python pandas库--pivot使用心得 2017年12月14日 17:07:06 阅读数:364 最近在做基于python的数据分析工作,引用第三方数据分析库--pandas(versio ...

最新文章

  1. 【我的Android进阶之旅】推荐一款能提升数十倍效率的Android应用开发助手
  2. 【风控体系】互联网反欺诈体系漫谈
  3. java更新 位置_请求位置信息更新  |  Android 开发者  |  Android Developers
  4. fileinput 时间_JavaScript_Bootstrap Fileinput文件上传组件用法详解,最近时间空余,总结了一些关...
  5. java中获取文件路径的几种方式
  6. OpenCV--图像内轮阔填充
  7. Python学习笔记(十)—— 高级特性
  8. 从分布式环境的特点、问题到CAP、BASE理论详解
  9. python调用rocketmq的api_rocketmq-python
  10. 记录一下:在菜单上添加自绘图形的例子(VB6代码)
  11. 挑战程序设计竞赛(第2版)1.6.1题
  12. javascript 闭包理解总结
  13. Python笔记 :科赫雪花曲线(计算思维训练1)
  14. 外卖返利小程序源码下载 美团/饿了么小程序源码下载
  15. Meta-learning algorithms for Few-Shot Computer Vision论文解读(一)
  16. 解决:ipad QQ可以联网,浏览器不能联网
  17. 将保护清理不良资产的银行家:Arun Jaitley在评审会议
  18. java版溺尸刷怪塔_minecraft河流群系溺尸刷怪塔存档
  19. os系统解决seaborn中文乱码问题 Font family [‘SiHei‘] not found
  20. 恐怖啊,MD5已经被真实情况下破解了

热门文章

  1. 103页PPT带你从浅到深了解什么是PMP项目管理(全)
  2. Weka下载安装详解
  3. 限流算法:滑动时间窗口算法。
  4. saxreader java_DOM4j读取XML文件(SAXReader)
  5. STARK Arithmetization
  6. 实现微信支付宝收款到账语音提醒
  7. 自带win10系统换win7的那些坑
  8. Python之常用内置函数
  9. 游戏关卡设计理论普及
  10. java list随机取_java list随机抽取元素的案例