pd.to_csv 写入索引 但pd.read_csv不能保存索引
时间: 2023-12-09 16:34:02 浏览: 105
是的,pd.read_csv()函数默认情况下不会将CSV文件中的第一列作为索引,而是将其视为数据。如果要将CSV文件中的第一列作为索引,则需要在读取CSV文件时使用index_col参数。而pd.to_csv()函数可以将DataFrame对象写入CSV文件,并且可以选择是否将索引写入文件中。
以下是一个示例代码,演示如何使用pd.to_csv()函数将带有索引的DataFrame对象写入CSV文件中:
```python
import pandas as pd
# 创建一个带有索引的DataFrame对象
data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]}
df = pd.DataFrame(data, index=['id1', 'id2', 'id3'])
# 将DataFrame对象写入CSV文件中,包括索引
df.to_csv('output.csv', index=True)
```
在上面的代码中,我们首先创建了一个带有索引的DataFrame对象,然后使用to_csv()函数将其写入名为output.csv的CSV文件中,并将索引写入文件中。
相关问题
df = pd.read_csv('your_csv_file.csv') df.fillna(0, inplace=True) df.to_csv('your_csv_file.csv', index=False)
这段代码的作用是先读取名为 'your_csv_file.csv' 的CSV文件并将其转换为Pandas的DataFrame对象,然后将DataFrame对象中的所有缺失值NaN替换为0,并将替换后的DataFrame对象重新写回到原来的CSV文件 'your_csv_file.csv' 中,同时不写入行索引。
换句话说,这段代码实现了将CSV文件中的缺失值NaN替换为0的功能。如果CSV文件中存在缺失值,这些缺失值将被替换为0,并保存回原始的CSV文件中。如果CSV文件中没有缺失值,则原始文件不受影响,仍然保持不变。
import pandas as pd df=pd.read_csv('D:/20230706/sdssSpecPhoto.csv') df1=df.sort_values(by="ra",ascending=True) df2=df1.drop_duplicates(subset=['ra','dec'],keep='first',inplace=False) df3=df2.iloc[:,1:3] df3.to_csv("D:/20230706/sdss_corrdinate1.csv") df4=pd.read_csv("D:/20230706/sdss_ALLWISE.csv",index_col=0)
您已经成功导入了 Pandas 库,并使用 `pd.read_csv` 函数读取了名为 'D:/20230706/sdssSpecPhoto.csv' 的 CSV 文件,将其存储在名为 'df' 的 DataFrame 中。
接下来,您对 DataFrame 'df' 进行了排序操作,按照 'ra' 列的值进行升序排序,并将结果存储在名为 'df1' 的新 DataFrame 中。
然后,您使用 `drop_duplicates` 函数在 'df1' DataFrame 上去除了重复的行,基于 'ra' 和 'dec' 列的值进行判断,并保留第一次出现的行。这一操作的结果被存储在名为 'df2' 的新 DataFrame 中。
接着,您使用 `iloc` 方法从 'df2' DataFrame 中选取了所有行和第1、2列的数据,并将结果存储在名为 'df3' 的新 DataFrame 中。
随后,您使用 `to_csv` 方法将 'df3' DataFrame 中的数据写入到名为 'D:/20230706/sdss_corrdinate1.csv' 的 CSV 文件中。
最后,您使用 `pd.read_csv` 函数读取了名为 'D:/20230706/sdss_ALLWISE.csv' 的 CSV 文件,并将其存储在名为 'df4' 的 DataFrame 中,并将第一列作为索引列。
阅读全文