【问题标题】:how can I plot a Likert scale?如何绘制李克特量表?
【发布时间】:2022-11-03 23:18:54
【问题描述】:

我有一个如下的excel电子表格:

data = pd.read_excel(r'survey.xlsx')

每一行都是对调查的回应,列是李克特量表中的不同问题(强烈同意、大部分同意、中立、大部分不同意、强烈不同意)。

假设对于给定的问题,excel 电子表格中的调查信息可以打印为

print(data.iloc[:,9])

这使

0                  Mostly Agree
1                  Mostly Agree
2               Mostly Disagree
3    Neither Agree Nor Disagree
4                Strongly Agree

我想使用这个包:

https://github.com/nmalkin/plot-likert

(或任何其他李克特量表包)

为所有调查问题打印李克特图(如 repos 所示)。

我对似乎可以完成工作的这段代码感到特别困惑:

# Make sure you have some data
import pandas as pd

data = pd.DataFrame({'Q1': {0: 'Strongly disagree', 1: 'Agree', ...},
                     'Q2': {0: 'Disagree', 1: 'Strongly agree', ...}})

# Now plot it!
import plot_likert

plot_likert.plot_likert(data, plot_likert.scales.agree, plot_percentage=True);

具体来说,如何将电子表格中的数据(我也使用 Pandas)复制到“DataFrame”中。我也不确定如何将数据框中的“Q1”、“Q2”更改为实际问题,从电子表格的列标题中获取。

如果可以提供任何帮助,我将不胜感激。

我的问题是:给定上述格式的电子表格(其中几列由问题组成,例如,列 J 询问“电影很有趣”,每行的回复都带有文本“非常同意”等)我如何将其重新格式化为一个数据框,例如(我可以在列表 list_questions = [9, 12, 17] 等中输入展开中列的索引):

data = pd.DataFrame({'Q1': {0: 'Strongly disagree', 1: 'Agree', ...},
                     'Q2': {0: 'Disagree', 1: 'Strongly agree', ...}})

【问题讨论】:

  • 你的问题究竟是什么?最后的那一点让您看起来像是想在数据框中打开一个xls,但在顶部您表明您已经在这样做了。 plot_likert 部分似乎与您的问题无关。
  • 我试图加强我的问题......我在电子表格中的数据和李克特量表的 DataFrame 对象之间进行转换时遇到了问题。
  • 我认为你需要进一步提高它。据我所知,李克特量表与你的问题无关,所以去掉所有这些,举例说明你的数据是什么样的,只关注你正在努力解决的问题——把它变成一个合适的数据框。

标签: python excel pandas likert


【解决方案1】:

如果您有问题并想从数据中制作李克特图表,您可以将每个问题的唯一值转换为字典。

创建与调查相关的响应

笔记
您可能必须更改比例以匹配 python 包要求

questions_response = {
    1:"Strongly Disagree",
    2:"Disagreee",
    3:"Neutral",
    4:"Agree",
    5:"Strongly Agree"
}

创建列循环并附加字典

这是假设您可能有多个使用相同量表的调查问题

questionaire = dict()

for question in questions:
    questionaire[question]=questions5_response

创建你的 Pandas DataFrame

将字典转换为 DataFrame

data = pd.DataFrame(questionaire)

plot_likert.plot_likert(data, plot_likert.scales.agree, plot_percentage=True)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 2023-01-29
    • 2016-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多