pandas近期常见问题总结(一)

最近在学习《利用python进行数据分析》,在案例实战过程和使用pandas库中还存在着许多问题没有解决,这里进行总结。

目录

  • 一、SettingwithCopyWarning问题
  • 二、读取以 ::为分隔符的csv文件时出现警告
  • 三、将DataFrame写入excel
  • 四、dataframe转置

一、SettingwithCopyWarning问题

在这里插入图片描述
如上图所示,出现如上所示的警告,这里推荐一篇文章:https://www.jianshu.com/p/72274ccb647a
这篇文章很详细的解释了出现的原因及解决方案,这是一个链式索引的问题。

二、读取以 ::为分隔符的csv文件时出现警告

在这里插入图片描述
这个警告的大概意思就是告诉你:因为“c”引擎不支持正则表达式分隔符(分隔符>1个字符且不同于“\s+”的分隔符被解释为正则表达式),可以通过指定engine=”python“这个参数来避免此警告。具体的可以复制到翻译软件。因为Python语言底层是采用C语言实现的,可以简单理解为Python是用C写出来的。这需要大佬进行相关解释,我也不是很理解这个意思。这里将代码改为:

df1=pd.read_csv("movies.dat",sep='::',header=None,engine="python",names=mnames)

就行了,这也是《利用python进行数据分析》书中的一个实例。

三、将DataFrame写入excel

将dataframe写入excel可以用pandas的to_excel(path,sheet1)path为路径,sheet1为表格名称。但如果要将多个dataframe写入同一个excel文件,需要用到ExcelWriter()方法

import pandas as pd 
#首先创建两个dataframe
frame=pd.DataFrame({"data1":random.randn(5),
             	"data2":random.randn(5),
             	"key1":["a","a","b","b","a"],
            	"key2":["one","two","one","two","one"]})
frame2=frame.copy()
writer=pd.ExcelWriter("test.xls")
frame.to_excel(writer,"frame")
frame2.to_excel(writer,"frame2")
writer.save()

这里创建了两个dataframe,将其写入text文件,并将两个表格的名称分别命名为frame和frame2。注意最后要执行 writer.save()代码,不然不会创建文件,只是在缓存中。

如果要将多个dataframe写入同一张表格,可以利用startcol和startrow这两个参数来实现

writer=pd.ExcelWriter("test.xls")
frame.to_excel(writer,startrow=2)
frame2.to_excel(writer,startrow=18,startcol=18)
writer.save()
#startrow代表写入的起始行,startcol代表写入的起始列

四、dataframe转置

dataframe也有类似于numpy数组类似的转置操作。

pandas近期常见问题总结(一)_第1张图片
pandas近期常见问题总结(一)_第2张图片

你可能感兴趣的:(pandas近期常见问题总结(一))