如何在不命名DataFrame列的情况下使用Seaborn.lmplot函数?

时间:2017-08-31 07:51:27

标签: python pandas dataframe seaborn

我想使用 Seaborn.lmplot 来分散Dataframe的"第1列和第34行; vs "第2列" ,但根据Seaborn文档:

  

Seaborn.lmplot(x,y,data,hue = None,...)

我们应该提供使用此函数的列名称,换句话说,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)

和我的dataFrame类似: enter image description here

是否有任何方法可以在不命名列的情况下使用Seaborn.lmplot!

1 个答案:

答案 0 :(得分:3)

Seaborn不允许使用未命名的列 但是,一个简单的解决方案是仅为了绘图而重命名列。将整数映射到字符串(lambda x: str(x))将允许使用字符串作为seaborn图的列名。

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

原始数据框将保持不变。