将熊猫出口到CSV的实践指南
了解如何将Pandas DataFrame导出到CSV文件是每个数据科学家工具包的重要技能。Pandas是一种基于Python的数据操作工具,流行的数据科学使用。数据专家使用DataFrame,常见的熊猫对象并表示一个表,合并,操作和分析表格数据。
在熊猫编码会议结束时,任何数据和进度都需要保存。最常见的方法是将数据帧写入CSV文件,CSV文件只不过是一个简单的文本文件。这是存储和交换表格数据的最常见和最简单的方法。CSV文件格式之所以如此,是因为它得到了其他应用程序的广泛支持,包括Excel、Open Office和Tableau。
将Dataframes导出到CSV的一些典型用例包括:
- 在计算机上保存表格数据
- 与他人共享表格数据
- 在应用程序之间交换表格数据
最近更新于2021年3月
PANDAS充分解释|150+练习|必须有机器学习和金融技能|+ Scikit-reath和Seaborn |由Alexander Hagmann.
探索课程基本的熊猫数据帧导出到CSV文件
了解数据帧df。作为第一步,我们必须引进大熊猫图书馆以署方身分进口大熊猫。
以署方身分进口大熊猫
与pd.DataFrame ()我们可以创建一个简单的DataFrame对象。
df = pd。DataFrame(data = {"Name": ["Lionel Messi", "Cristiano Ronaldo", "Neymar Junior", "Kylian Mbappe", "Manuel Neuer"], "Country":["阿根廷","葡萄牙","巴西","法国","德国"],"Height_m": [1.70, 1.87, 1.75, 1.78, 1.93]}) df
数据帧是一个二维的标记数据结构。在我们的示例中,df有5行3列。每一行代表一个足球运动员,每一列包含有关球员的信息。左边的“column”不是“column”。它是数据帧的索引。索引对行进行标签。如果没有指定,数据帧有一个升序的RangeIndex。数据帧的顶部是列标题。
要将数据帧写入CSV文件,我们可以使用DataFrame方法to_csv()。一个简单的例子是:
df.to_csv(“players.csv”)
这将创建CSV文件Players.csv.。打开文件时,我们可以看到如下结构:
,名称,国家/地区,高度_M 0,Lionel Messi,阿根廷,1.7 1,Cristiano Ronaldo,Portugal,1.87 2,Neyymar Junior,Brazil,1.75 3,Kylian Mbappe,France,1.78 4,Manuel Neuer,德国,1.93
CSV文件是一个分隔的文本文件,它使用逗号来分隔值。您仍然可以看到表格数据结构。每行文件是数据记录 - 足球播放器。每个记录由一个或多个值组成 - 播放器信息 - 用逗号分隔。
根据用例,我们可以自定义导出。方法to_csv()提供几个选项(参数)来微调最终输出。
5种方法来定制熊猫到CSV
- 定义文件名和位置
第一个也是最重要的参数是path_or_buf。在这里,您可以定义:
- 文件名(玩家)
- 文件类型(. csv)
- 文件保存的位置(在您的桌面上)
球员是一个合适的文件名。您可以选择一个不同的文件名。但不要使用任何空格(足球运动员)或特殊字符。如果您的文件名包含两个或多个单词,请使用下划线(football_players)。
使用CSV文件类型(. csv),如未另行说明。或者,您可以使用。文本文件扩大。
保存在当前工作目录中
如果没有指定完整路径,Pandas会将文件保存在当前工作目录(CWD)中:
df.to_csv(path_or_buf =“players.csv”)
这节省了Players.csv.在你的cwd。请注意,您可以省略“path_or_buf =“。
在指定位置保存
CWD可能会有所不同,取决于您的系统和您的Python安装。因此,您可以通过添加完整文件路径来定义指定的位置。拯救Players.csv.在Windows桌面上,您将添加路径C:\Users\alex\desktop\来Players.csv.。
Windows上的完整文件名是:C:\用户\ Alex \ Desktop \ Players.csv
麦克斯和Linux上的完整文件名是:/用户/亚历克斯/桌面/ players.csv
请注意,Windows使用Backslash(“\”)而不是斜杠(“/”)。由于Backslash是Python中的特殊字符,因此使用以下代码将丢弃错误:
df.to_csv(“C: \用户桌面\ \ alex \ players.csv”)
解决这个问题有两种方法:
- 使用斜杠(“/”):
df.to_csv(“C: /用户/亚历克斯/桌面/ players.csv”)
- 使用前缀r:
df.to_csv (r”弗格森C: \用户\ \电脑\ players.csv”)
在macOS和Linux上,最好的解决方案是:
df.to_csv(r“c:\ users \ alex \ desktop \ players.csv”)
- 导出索引
的to_csv()方法默认导出索引。可以通过添加来删除索引指数= False。
df.to_csv(“players.csv”,index = false)
让我们来看看CSV文件内部:
姓名,乡村梅西梅,阿根廷,1.7克里斯蒂亚诺·罗纳尔多,葡萄牙,1.87 Neymar Junior,Brazil,1.75 Kylian Mbappe,France,1.78 Manuel Neuer,德国,1.93
一个简单的规则:如果您的DataFrame具有默认RANAYINDEX,请不要导出索引,因为它不包含任何有价值的信息。如果您从CSV恢复数据集pd.read_csv (),索引可能会在数据帧中列出两次。
您应该什么时候出口索引?在您在索引中具有重要信息的情况下。以下dataframe.股票包含微软(Microsoft)和苹果(Apple)的股价:
此DataFrame具有带日期信息的索引,这是一个DateTimeIndex.。在此示例中,您不应该丢弃索引。
Stocks.to_csv(“Stocks.csv”)
CSV文件stocks.csv仍包含DateTime信息:
日期,AAPL,MSFT 2005-04, 293.16178.84, 2005-05,297.56,180.76, 2005-06,300.63,182.54, 2005-07,303.74,183.60, 2005-08,310.13,184.68
- 选择列
如果不指定,to_csv()将DataFrame的所有列写入CSV。您可以选择一个或多个列并省略所有其他列。
创建列表(my_list)与您希望导出的列(例如名称和国家)。
my_list = ["Name", "Country"]
通过my_list来列=
my_list = ["Name", "Country"]
- 导出列标题
的to_csv()方法默认情况下将列标头(例如国家)写入CSV。可以通过添加来删除这些列标签头= False。
df.to_csv(…, header = False)
- 所有其他选择要小心
还有14个额外参数可用于进一步定制导出to_csv()。最好在此处使用默认设置。
在极少数情况下,替代设置可能是合适的。让我们考虑两个选项:
更改分隔符(不推荐)
在CSV文件中,值之间用逗号分隔。您可以更改分隔符并使用分号(";")代替。将所需的分隔符用引号传递给9月=。
df.to_csv(...,sep =“;”)
为丢失的数据定义替代表示(不推荐)
当写入数据帧到CSV时,缺失的数据用一个空字符串(" ")表示。你可以通过传递给它来定义一个替代表示(例如" None ")na_rep =.。
df.to_csv(...,na_rep =“none”)
数据科学家经常将Pandas DataFrames写入CSV。的to_csv()方法提供了许多选项来自定义导出。如果要保存数据,直到下一个编码会话,请执行以下操作:
df.to_csv("file_name.csv", index = False) # if df contains a RangeIndex df.to_csv("file_name.csv") # if df contains a RangeIndex df.to_csv("file_name.csv") # if df contains a RangeIndex
这允许您使用简单的代码重新移动数据转换为Pandas:
pd.read_csv(“file_name.csv”,......)
在所有其他情况下,您可以根据您的需求自定义导出。
现在你有了完成这个重要的熊猫任务的技能,你可以在its了解更多关于熊猫的知识文档或者开始一个Pandas Bootcamp.。