Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Seaborn Pairplot与数据帧vs CSV_Python_Pandas_Csv_Plot - Fatal编程技术网

Python Seaborn Pairplot与数据帧vs CSV

Python Seaborn Pairplot与数据帧vs CSV,python,pandas,csv,plot,Python,Pandas,Csv,Plot,我在Jupyter笔记本中有一个数据框,并在上面做了一对绘图,以获得一组相互之间的绘图 import seaborn as sns sns.pairplot(df_merge) 这是结果的配对图 但是,它以非美学的方式错误地绘制数据。但是,当我将此数据帧导出到csv,然后将其作为数据帧读回程序时: import seaborn as sns df_merge.to_csv('dataframe.csv') x = pd.read_csv('dataframe.csv') sns.pairpl

我在Jupyter笔记本中有一个数据框,并在上面做了一对绘图,以获得一组相互之间的绘图

import seaborn as sns
sns.pairplot(df_merge)
这是结果的配对图

但是,它以非美学的方式错误地绘制数据。但是,当我将此数据帧导出到csv,然后将其作为数据帧读回程序时:

import seaborn as sns
df_merge.to_csv('dataframe.csv')
x = pd.read_csv('dataframe.csv')
sns.pairplot(x)
Sns绘制得很好,变量之间的相关性可以看到,但我有一个不必要的列,名为Unnamed,我不需要它

是否有人知道是什么原因导致此问题,以及我如何在不需要将数据帧导出为csv的情况下纠正此问题?

当您这样做时:

df_merge.to_csv('dataframe.csv')
您还可以编写
df_merge
的索引,但不带名称。然后

x = pd.read_csv('dataframe.csv')
将索引读取为
未命名0
列。要解决此问题,请保存不带索引的数据帧:

df_merge.to_csv('dataframe.csv', index=False)
x = pd.read_csv('dataframe.csv')
或使用索引读取csv:

df_merge.to_csv('dataframe.csv')
x = pd.read_csv('dataframe.csv', index_col=[0])

我发现我遇到的问题是,当我将数据帧更改为CSV,然后再将其更改回数据帧时,数据帧中的值具有float64类型,而在我的数据帧中,它们之前都是对象。在绘制图形之前,将所有数字列转换为float解决了我的问题。

这很有意义。我不知道为什么直接将数据帧放入pairplotting会给我一个混乱的绘图,因为两个绘图都应该输出相同的东西和图形。你知道为什么会出现这种情况吗?检查
df_merge
是否有字符串或分类变量?我不相信有。它会改变它吗?我将整个DF写入CSV,然后重新读取到程序中?这两个帧应该是相同的,对吗?写入csv前的一个和写入csv后的一个?