Python 简单数据集regplot中的keyerror-AttributeError:';str';对象没有属性';共轭';

Python 简单数据集regplot中的keyerror-AttributeError:';str';对象没有属性';共轭';,python,pandas,seaborn,Python,Pandas,Seaborn,我正在创建以下数据: import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns sns.set() data = np.array([['', 'Gross ', 'Target'], [0, 728, 500], [1, 701, 750], [2, 590, 57

我正在创建以下数据:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()

data = np.array([['', 'Gross ', 'Target'],
                 [0, 728, 500],
                 [1, 701, 750],
                 [2, 590, 570],
                 [3, 548, 596]])

df = pd.DataFrame(data=data[1:, 1:], columns=data[0, 1:])
df

    Gross   Target
0   728     500
1   701     750
2   590     570
3   548     596
并试图策划:

sns.regplot(x='Gross', y='Target', data=df)
结果为:
KeyError:“Gross”

---更新--

修正空白后,我收到:


AttributeError:'str'对象没有属性“conjugate”

字符串中有
空格,它被转换为列:

print (df.columns.tolist())
['Gross ', 'Target']
一种可能的解决办法是:

或在列名中添加空白:

sns.regplot(x='Gross ', y='Target', data=df)


创建数组
数据时,numpy将数字转换为字符串。seaborn正试图用这些字符串来做数学运算,但它不起作用。如果你把列标题放在一个数组中,把数字放在另一个数组中,它会起作用。

Hmm。我没有注意到,谢谢。但是,现在它给了我:
AttributeError:'str'对象没有属性“conjugate”
看起来你有熊猫的旧版本。您的版本是什么?我正在使用0.19.2Maybe help cast to str first
df.columns=df.columns.astype(str).str.strip()
它仍然会给我同样的错误。您觉得它有效吗?
sns.regplot(x='Gross ', y='Target', data=df)
print (df.dtypes)
Gross     object
Target    object
dtype: object

sns.regplot(x='Gross', y='Target', data=df.astype(int))