2017-08-31 75 views
1

我想使用Seaborn.lmplot用於散射數據幀的「列1」 VS 「列2」,但在根據Seaborn文檔:如何在不命名DataFrame列的情況下使用Seaborn.lmplot函數?

Seaborn.lmplot(X,Y ,數據,色調=無,...)

我們應該提供使用此函數的列的名稱,換句話說,Dataframes列應該是字符串而不是整數。

我試過以下方法,但沒有一個可以工作!

import seaborn as sns 
import pandas as pd 
df = pd.read_csv('someData.csv',sep=',', header=None) 

sns.lmplot(0,1, data= df) 
sns.lmplot(df[0], df[1]) 
sns.lmplot("0","1",data= df) 

,我的數據幀是一樣的東西: enter image description here

有沒有我可以使用Seaborn.lmplot不點名列的任何方法!

回答

1

Seaborn不允許未命名的列。
但是,一個簡單的解決方案是僅爲繪圖目的重命名列。將整數映射到字符串(lambda x: str(x))將允許將字符串用作seaborn圖的列名稱。

sns.lmplot(x="0", y="1", data=df.rename(columns=lambda x: str(x))) 

原始數據幀將保持不變。

相關問題