将 Pandas 转换为不带索引的 CSV
如你所知,索引可以被认为是一个参考点,用于存储和访问 DataFrame 中的记录。它们对每一行都是唯一的,通常范围从 0 到 DataFrame 的最后一行,但我们也可以有序列号、日期和其他唯一的列作为 DataFrame 的索引。
但有时在导出或读取文件时,用户可能不需要这个额外的索引列。用下面的 DataFrame 会更清楚地说明这个问题。
import pandas as pd
df = pd.DataFrame([[6, 7, 8], [9, 12, 14], [8, 10, 6]], columns=["a", "b", "c"])
print(df)
输出:
a b c
0 6 7 8
1 9 12 14
2 8 10 6
正如你所看到的,我们在 DataFrame 中增加了一个额外的索引,用户在将其保存到文件时可以避免这个索引。如果我们想把这个 DataFrame 转换成一个没有索引列的 CSV 文件,我们可以通过在 to_csv()
函数中把 index
设置为 False
来实现。
示例代码。
import pandas as pd
df = pd.DataFrame([[6, 7, 8], [9, 12, 14], [8, 10, 6]], columns=["a", "b", "c"])
print(df)
df.to_csv("data2.csv", index=False)
输出:
a b c
0 6 7 8
1 9 12 14
2 8 10 6
从输出中可以看出,DataFrame 确实有一个索引,但由于我们将 index
参数设置为 False
,所以导出的 CSV 文件不会有额外的一列。
如果我们导出一个带有额外索引列的文件(没有将 index
参数设置为 False
),然后尝试读取它,我们将得到一个奇怪的额外列。
import pandas as pd
df = pd.DataFrame([[6, 7, 8], [9, 12, 14], [8, 10, 6]], columns=["a", "b", "c"])
print(df)
df.to_csv("data2.csv")
df_new = pd.read_csv("data2.csv")
print(df_new)
输出:
a b c
0 6 7 8
1 9 12 14
2 8 10 6
Unnamed: 0 a b c
0 0 6 7 8
1 1 9 12 14
2 2 8 10 6
正如你所看到的,df_new
DataFrame 有一个额外的 Unnamed
列。
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串