使用多级 Pandas 数据框的 Seaborn 图时遇到问题
Having trouble with a Seaborn Plot from a multilevel Pandas Dataframe
我正在使用我已读入 pandas 的 csv 文件,使用以下命令:
RawData = pd.read_csv(rawData_file_path, engine='python', header=[0,1])
这将创建一个 DataFrame object,其中第 1 行和第 2 行是每列中的 header 行。像这样:
-------------------------------
| Group 1 | Group 2 |
-------------------------------
| A | B | A | B |
-------------------------------
| data | data | data | data |
-------------------------------
| data | data | data | data |
-------------------------------
我正在尝试 运行 使用 seaborn (sns.countplot) 的计数图,但是 运行 遇到了问题,因为第二行 header 没有被查看作为 header。
我要分析的列是一个简单的性别列(男/女)。但是,根据结果的排列方式,第 header 列如下所示:
row 1: What is your gender?
row 2: Response
row n: Male or Female etc.
我尝试使用计数图绘制此图:
sns.countplot(x=['What is your gender?'], data=RawData)
但是,我收到此错误:ValueError:DataFrame 的真值不明确。
Use a.empty, a.bool(), a.item(), a.any() or a.all().
当我展平数据框时,seaborn 图起作用了,但它没有映射男性和女性的数量,而是映射了男性、女性和 'Response' 的数量。这让我相信 header 的第二行是导致 unflattend DataFrame 中的值错误的原因。
这是我必须制作的许多情节中的第一个,后面的一些专栏更复杂,需要第 2 行作为 header 中的参考。因此,我不能简单地展平 DataFrame。
有人可以推荐这里的工作吗?在我必须开始更复杂的可视化(如热图等)之前,我现在想用一个简单的计数图将其扼杀在萌芽状态。
像 countplot
这样的 Seaborn 函数假设您有 tidy data。简而言之:每个变量应该是一列,每个观察值应该是一行。你会想找到一种方法来格式化你的数据框,使其处于这种基本结构中,然后你就可以使用 seaborn 来绘制它了。
我正在使用我已读入 pandas 的 csv 文件,使用以下命令:
RawData = pd.read_csv(rawData_file_path, engine='python', header=[0,1])
这将创建一个 DataFrame object,其中第 1 行和第 2 行是每列中的 header 行。像这样:
-------------------------------
| Group 1 | Group 2 |
-------------------------------
| A | B | A | B |
-------------------------------
| data | data | data | data |
-------------------------------
| data | data | data | data |
-------------------------------
我正在尝试 运行 使用 seaborn (sns.countplot) 的计数图,但是 运行 遇到了问题,因为第二行 header 没有被查看作为 header。 我要分析的列是一个简单的性别列(男/女)。但是,根据结果的排列方式,第 header 列如下所示:
row 1: What is your gender?
row 2: Response
row n: Male or Female etc.
我尝试使用计数图绘制此图:
sns.countplot(x=['What is your gender?'], data=RawData)
但是,我收到此错误:ValueError:DataFrame 的真值不明确。
Use a.empty, a.bool(), a.item(), a.any() or a.all().
当我展平数据框时,seaborn 图起作用了,但它没有映射男性和女性的数量,而是映射了男性、女性和 'Response' 的数量。这让我相信 header 的第二行是导致 unflattend DataFrame 中的值错误的原因。
这是我必须制作的许多情节中的第一个,后面的一些专栏更复杂,需要第 2 行作为 header 中的参考。因此,我不能简单地展平 DataFrame。
有人可以推荐这里的工作吗?在我必须开始更复杂的可视化(如热图等)之前,我现在想用一个简单的计数图将其扼杀在萌芽状态。
像 countplot
这样的 Seaborn 函数假设您有 tidy data。简而言之:每个变量应该是一列,每个观察值应该是一行。你会想找到一种方法来格式化你的数据框,使其处于这种基本结构中,然后你就可以使用 seaborn 来绘制它了。