[英]How to plot a scatter plot calling pandas data frame series from a dictionary
我從字典對象(數據幀)中調用了兩個 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'
我可以用下面的代碼重現你提到的問題
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 應該有軸對象而不是整數值。
下面的代碼適用於 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)
如果它不能解決您的問題,請告訴我
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.