用python做数据分析是一件再合适不过的事情,我们举个简单的例子。
例如收集数据的方法是使用问卷,实验软件(例如,PsychoPy,OpenSesame)和观察。
当问卷和实验软件使用数字应用程序时,我们当然也会以数字文件格式(例如,Excel电子表格和逗号分隔,CSV,文件)获取数据。
如果数据集非常小,则可以使用Python和Pandas直接创建数据框:
然而当数据集很大时如果手动处理数据非常耗时且不推荐。 下面您将学习如何在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。
如果要了解其他参数,请参阅read_excel文档。
pandas阅读Excel示例:
这是一个关于如何使用Pandas read_excel的工作示例:
在上面的示例中,我们正在读取Excel文件('conflictdata.xlsx')。 数据集只有一个工作表,但为了清楚起见我们添加了“conflictdata”工作表名称作为参数。 也就是说在这种情况下,sheet_name不需要我们使用。
R用户可能熟悉最后一行,以下是打印DataFrane的前X行:
您可能已经注意到,当我们阅读上面的Excel文件时,我们没有使用header参数。 如果我们将标题设置为None,我们将获得数字作为列名。 不幸的是,这使得使用Pandas数据框有点烦人。
我们可以传递一个列名列表作为参数。 最后,由于示例xlsx文件包含列名,我们使用skiprows跳过第一行。 注意,可以使用跳过跳过多行。 只需添加一个列表,其中包含要跳过的行号。
这是另一个使用Python Pandas读取Excel文件的示例:
我们还可以使用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)
- 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()
以上就是简单用pandas进行数据分析中读取数据、筛选数据一环,你还可以用它还做很多数据操作,是一个很有用的工具包。