如何导出熊猫到CSV
知道如何将Pandas DataFrames导出到CSV文件是每个数据科学家的工具包中的一项基本技能。Pandas是一个基于python的数据操作工具,在数据科学领域很受欢迎。数据专家使用DataFrames(一个常见的Pandas对象,表示一个表)来合并、操作和分析表格数据。
在Pandas编码会话结束时,需要保存任何数据和进度。这样做的最常见方法是将Dataframe写入CSV文件,这是一个简单的文本文件。它是存储和交换表格数据的最常见和最简单的方法。CSV文件格式是因为它被其他应用程序广泛支持,包括Excel,Open Office和Tableau。
将dataframe导出到CSV的一些典型用例包括:
- 在计算机上保存表格数据
- 与他人共享表格数据
- 在应用程序之间交换表格数据
上次更新于7月2021日
熊猫充分解释| 150+练习|机器学习和金融必备技能| + Scikit-Learn和Seaborn |由Alexander Hagmann.
探索课程将Pandas DataFrames导出到CSV文件的基础知识
要理解DataFrame DF。作为第一步,我们必须使用熊猫库进口熊猫作为PD.
进口熊猫作为PD
和pd.dataframe()可以创建一个简单的DataFrame对象。
df = pd.dataframe(Data = {“名称”:[“Lionel Messi”,“Cristiano Ronaldo”,“Neymar Junior”,“Kylian Mbappe”,“Manuel Neuer”,“Country”:[“阿根廷”,“葡萄牙“,”巴西“,”法国“,”德国“,”Height_m“:[1.70,1.87,1.75,1.78,1.93]})DF
dataframe是二维标记数据结构。在我们的示例中,DF有五行和三列。每一行代表一个足球播放器,每列包含有关玩家的信息。左侧的“列”不是列。这是Dataframe的索引。索引标记行。如果未指定,则DataFrame具有带升序整数的RangeIndex。在dataframe的顶部是列标题。
要将DataFrame写入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.)
- 保存文件的位置(在您的桌面上)
玩家是一个适当的文件名。您可以选择一个不同的文件名。但不要使用任何空格(足球运动员)或特殊字符。如果您的文件名包含两个或多个单词,请使用下划线(足球运动员).
使用csv filetype(.csv.)如果没有另有指定。或者,您可以使用的是您可以通过使用来写入TXT文件. txt延期。
保存在当前工作目录中
如果您未指定具有完整路径的位置,Pandas将保存当前工作目录(CWD)中的文件:
df。到_csv(path_or_buf = "players.csv")
这节省了Players.csv.你的鹿。注意,你可以省略"path_or_buf =.”。
保存在指定的位置
CWD可能不同,取决于您的系统和Python安装。因此,您可以通过添加完整的文件路径来定义指定的位置。为了节省Players.csv.在Windows桌面上,您将添加路径C:\用户\ Alex \ Desktop \到Players.csv..
Windows上的完整文件名是:C:\Users\alex\desktop\ players.csv
麦克斯和Linux上的完整文件名是:/users/alex/desktop/players.csv.
请注意,Windows使用反斜杠(" \ ")而不是斜杠(" / ")。由于反斜杠在Python中是一个特殊字符,使用以下代码将导致错误:
df.to_csv(“C:\用户\ Alex \ Desktop \ Players.csv”)
如何解决此问题有两种方法:
- 使用斜杠(“/”):
df.to_csv(“c:/users/alex/desktop/players.csv”)
- 使用前缀R:
df.to_csv(r“c:\ users \ alex \ desktop \ players.csv”)
在MacOS和Linux上,单一最佳解决方案是:
df.to_csv(r“c:\ users \ alex \ desktop \ players.csv”)
- 出口指数
这to_csv ()方法默认导出索引。您可以通过添加来删除索引index = 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有一个默认的RangeIndex,不要导出索引,因为它不包含任何有价值的信息。如果您从CSV重新导入数据集pd.read_csv(),可以在DataFrame中列出索引。
什么时候导出索引?在索引中有重要信息时。以下DataFrame股票包含微软(MSFT)和Apple(AAPL)的股票价格:
这个DataFrame有一个带有datetime信息的索引DatetimeIndex.在本例中,不应该删除索引。
stocks.to_csv(“stocks.csv”)
CSV文件Stocks.csv.仍然包含日期时间信息:
日期,AAPL,MSFT 2020-05-04,293.16,178.84 2020-05-05,297.56,180.76 2020-05-06,76 2020-05-06,300.63,182.54 2020-05-07,303.74,183.60 2020-05-08,31013,184.68
- 选择列
如果未指定,to_csv ()将DataFrame的所有列写入CSV。您可以选择一个或多个列,并省略所有其他列。
创建列表(我的清单)与您希望出口的列(例如,姓名和国家)。
my_list = [“名称”,“国家”]
经过我的清单到列=
my_list = [“名称”,“国家”]
- 出口列标题
这to_csv ()默认情况下的方法将列标题(例如国家/地区)写入CSV。您可以通过添加来删除这些列标签标题= false..
df.to_csv(...,header = false)
- 小心其他选择
有14个其他参数可以进一步自定义导出to_csv ().这里最好使用默认设置。
在极少数情况下,可选择其他设置。让我们再考虑两个选择:
更改分隔符(不推荐)
在CSV文件中,值由逗号分隔。您可以更改分隔符并使用分号(“;”)。通过引号通过所需的分隔符SEP =.
df.to_csv(…, sep = ";")
定义缺失数据的替代表示(不推荐)
将Dataframes写入CSV时,缺少数据由空字符串(“”)表示。您可以通过将其传递给的替代表示(例如“无”)来定义替代表示na_rep =.
df.to_csv(…, na_rep = "None")
数据科学家经常将Pandas DataFrames写入CSV。这to_csv ()方法提供许多选项来定制导出。如果你想将数据保存到下一个编码会话,请执行以下步骤:
df.to_csv(“file_name.csv”,index = false)#如果df包含一个范围Index df.to_csv(“file_name.csv”)#如果索引包含重要信息
这允许你用简单的代码重新导入数据到Pandas:
pd.read_csv(“file_name.csv”…)
在所有其他情况下,您可以根据您的需求自定义导出。
现在您有能够执行这一重要的熊猫任务的技能,您可以了解更多关于熊猫的信息文件或通过开始熊猫训练营.