Pandas数据分析面试基础题(三)

509 阅读2分钟

Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情

这篇文章的试题主要涉及 Pandas 常用的另外一种数据结构 DataFrame,DataFrame 是一种表格型的数据结构,既有行索引(index),又有列索引(columns),在数据分析中应用非常广泛。

试题一:如何创建 DataFrame 数据结构?

(难度:easy)

分析 创建 DataFrame 对象的语法格式如下:

import pandas as pd

pd.DataFrame(data, index, columns, dtype, copy)

参数说明:

  • data: 输入的数据,可以是list、dict、ndarray、series以及DataFrame等
  • index:行标签,默认是np.arange(n),n代表data的元素数量
  • columns:列标签,则默认是np.arange(n)
  • dtype:每一列的数据类型
  • copy:是否复制数据data,默认为 False 代码
# 通过列表创建
data = [1, 2, 3, 4, 5]
df1 = pd.DataFrame(data)
print(df1)

# 通过字典创建
import pandas as pd
data = {'name':['one', 'two', 'three', 'four'], 'age':[24, 25, 26, 27]}
df2 = pd.DataFrame(data)
print(df2)
# 另一种方法:使用from_dict()方法:
df2 = pd.DataFrame.from_dict(data)
print(df2)

# 通过嵌套列表创建
data = [['one',22], ['two',23], ['three', 24]]
df3 = pd.DataFrame(data, columns=['name','age'])  # 此处指定了列索引columns
print(df3)

# 通过 Series 对象创建
data = [pd.Series([1, 2, 3], index=['a', 'b', 'c']),
     pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])]
df4 = pd.DataFrame(data)
print(df4)

试题二:如何通过CSV文件构建DataFrame?

(难度:easy)

分析 一般在数据分析时,源数据一般都保存在CSV表格中,那如何通过CSV文件构建DataFrame呢?一般是使用pd.read_csv('filename.csv')方法。
代码

df = pd.read_csv('./xxx.csv')

有几个参数需要注意一下:

  • sep:指定数据的分割方式,默认的是','
  • header:设置 DataFrame 的列名称,默认为"infer",如果CSV文件中没有表头,就要指定header参数,header=0,表示第一行为列名,也可以写header=[1, 2, 3]当列名,要是没有列名可以这样header=None。
  • names:当names没被赋值时,header默认为0,即选取数据文件的第一行作为列名;当 names被赋值,header没被赋值时,那么header会变成None。如果都赋值,就会实现两个参数的组合功能,例如header=2,表示把第二行当做列名,第二行下面当成数据,然后再把列名用names指定的内容替换。

原创不易,如果小伙伴们觉得有帮助,麻烦点个赞再走呗~

最后,感谢女朋友在工作和生活中的包容、理解与支持 !