学python做数据分析怎么样?

用python做数据分析是一件再合适不过的事情,我们举个简单的例子。

例如收集数据的方法是使用问卷,实验软件(例如,PsychoPy,OpenSesame)和观察。

当问卷和实验软件使用数字应用程序时,我们当然也会以数字文件格式(例如,Excel电子表格和逗号分隔,CSV,文件)获取数据。

学python做数据分析怎么样?_第1张图片

如果数据集非常小,则可以使用Python和Pandas直接创建数据框:

学python做数据分析怎么样?_第2张图片

然而当数据集很大时如果手动处理数据非常耗时且不推荐。 下面您将学习如何在Python和Pandas中阅读Excel Spreadsheets和CSV文件。

使用Pandas read_excel读取Excel文件,将数据集读入Python的一种方法是使用read_excel方法,该方法有许多参数。

pd.read_excel(io, sheet_name=0, header=0)
  • io是包含数据的Excel文件。 它应该是类型字符串数据类型,可以是本地存储的文件以及URL。

  • sheet_name可以是我们要加载的特定工作表的字符串,也可以是零索引工作表位置的整数。 如果我们指定None,则所有工作表都将读入数据框。

  • header可以是整数或整数列表。 默认值为0,整数表示列名称的行。 如果Excel文件中没有列名,请添加0。

学python做数据分析怎么样?_第3张图片

如果要了解其他参数,请参阅read_excel文档。

pandas阅读Excel示例:

这是一个关于如何使用Pandas read_excel的工作示例:

学python做数据分析怎么样?_第4张图片

在上面的示例中,我们正在读取Excel文件('conflictdata.xlsx')。 数据集只有一个工作表,但为了清楚起见我们添加了“conflictdata”工作表名称作为参数。 也就是说在这种情况下,sheet_name不需要我们使用。

R用户可能熟悉最后一行,以下是打印DataFrane的前X行:

学python做数据分析怎么样?_第5张图片

您可能已经注意到,当我们阅读上面的Excel文件时,我们没有使用header参数。 如果我们将标题设置为None,我们将获得数字作为列名。 不幸的是,这使得使用Pandas数据框有点烦人。

我们可以传递一个列名列表作为参数。 最后,由于示例xlsx文件包含列名,我们使用skiprows跳过第一行。 注意,可以使用跳过跳过多行。 只需添加一个列表,其中包含要跳过的行号。

这是另一个使用Python Pandas读取Excel文件的示例:

学python做数据分析怎么样?_第6张图片

我们还可以使用Pandas to_excel方法保存新的xlsx(或覆盖旧的,如果你喜欢这样做的话)。

  • excel_writer可以是字符串(您的文件名)或ExcelWriter对象。

  • sheet_name应该是包含工作表名称的字符串。 默认为'Sheet1'。

  • index应该是布尔值(即,True或False)。 通常,我们不希望用数字编写新列。 默认为True。

df.to_excel('newfilename.xlsx', sheet_name='NewColNames', index=False)

有许多方法可用于筛选数据。 一种简单的方法是使用查询, 此方法类似于R中的函数子集。现在我们来筛选出“piq”大于80:

  • df_piq = df.query('piq > 80')

  • df_piq.head(4)

学python做数据分析怎么样?_第7张图片

  • df_males = df [df ['sex'] =='man']

下面显示了如何使用多个条件筛选数据框。 在这种情况下,我们从性别为男性且iq大于80的df中选择观察值。请注意Pandas中的&符号“&”是首选的AND运算符。

  • df_male80 = df.query('iq> 80&sex ==“Male”')

也可以使用OR运算符。 在下面的示例中,我们基于年龄大于或等于40或年龄小于14的行来过滤DataFrame。此外我们还可以通过列'piq'和'viq'筛选条件。

  • df.query('age >= 40 | age < 14')[['piq', 'viq']].head()

学python做数据分析怎么样?_第8张图片

以上就是简单用pandas进行数据分析中读取数据、筛选数据一环,你还可以用它还做很多数据操作,是一个很有用的工具包。

你可能感兴趣的:(python)