我想使用 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)
是否有任何方法可以在不命名列的情况下使用Seaborn.lmplot!
答案 0 :(得分:3)
Seaborn不允许使用未命名的列
但是,一个简单的解决方案是仅为了绘图而重命名列。将整数映射到字符串(lambda x: str(x)
)将允许使用字符串作为seaborn图的列名。
sns.lmplot(x="0", y="1", data=df.rename(columns=lambda x: str(x)))
原始数据框将保持不变。