如何绘制从字典中调用熊猫数据框系列的散点图

时间:2019-08-19 09:41:22

标签: python pandas matplotlib seaborn

我从字典对象(数据帧)中调用了两个pandas数据帧系列,并希望将它们绘制在散点图中,但是python将我的数据帧视为整数对象。

我已经检查了从字典中调用的值的类型:pandas.dataframe.series

以下是我要执行的操作的示例:

df1 = pd.DataFrame([[1,2], [3,4]], columns = ['A', 'B'])

df = {'df1': df1}

for i in df.values():
    sns.scatterplot(x=i['A'], y = i['B'],  ax = 0)

我期望有一个散点图,但收到以下错误消息:

AttributeError: 'int' object has no attribute 'scatter'

1 个答案:

答案 0 :(得分:0)

我可以用以下代码重现您提到的问题

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df1 = pd.DataFrame([[1,2], [3,4]], columns = ['A', 'B'])
sns.scatterplot(x=df1['A'], y = df1['B'], ax = 0)

输出:
错误
AttributeError:“ int”对象没有属性“ scatter”

下面的代码很好用

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df1 = pd.DataFrame([[1,2], [3,4]], columns = ['A', 'B'])
sns.scatterplot(x=df1['A'], y = df1['B'])

如果要传递ax作为参数,这不是正确的方法。轴应具有轴对象,而不是整数值。
下面的代码与ax参数一起使用

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df1 = pd.DataFrame([[1,2], [3,4]], columns = ['A', 'B'])
fig, ax = plt.subplots(figsize=(3,3))
sns.scatterplot(x=df1['A'], y = df1['B'],ax=ax)

让我知道它是否不能解决您的问题