开始使用免费开始使用

自定义 pandas 导入

pandas 可以很好地处理数据科学导入数据时常见的各种问题,例如平面文件中的注释、空行以及缺失值(NANaN)。作为本章收尾,您将导入一份损坏的泰坦尼克号数据集副本 titanic_corrupt.txt。该文件在字符 '#' 之后包含注释,且为制表符分隔

pd.read_csv() 的关键参数包括:

  • sep 设置预期的分隔符。
    • 逗号分隔可用 ','
    • 制表符分隔可用 '\t'
  • comment 接收文件中用于标记注释的字符,表示从这些字符开始的文本都应被忽略。
  • na_values 接收要识别为 NA/NaN 的字符串列表。默认情况下,部分取值已被识别为 NA/NaN。提供该参数可额外指定更多取值。

本练习是课程的一部分

Python 数据导入入门

查看课程

练习说明

  • 补全 pd.read_csv() 的参数,使用 pandas 正确导入 titanic_corrupt.txt
    • sep 用于设置分隔符,作用与 np.loadtxt()delimiter 参数相同。请注意,您要导入的文件是制表符分隔。
    • comment 接收文件中用来标记注释的字符,本例为 '#'
    • na_values 接收需要视为 NA/NaN 的字符串列表,本例为字符串 'Nothing'
  • 运行其余代码,打印结果 DataFrame 的前几行,并绘制泰坦尼克号乘客 'Age' 的直方图。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Import matplotlib.pyplot as plt
import matplotlib.pyplot as plt

# Assign filename: file
file = 'titanic_corrupt.txt'

# Import file: data
data = pd.read_csv(file, sep='____', comment='____', na_values=[____])

# Print the head of the DataFrame
print(data.head())

# Plot 'Age' variable in a histogram
pd.DataFrame.hist(data[['Age']])
plt.xlabel('Age (years)')
plt.ylabel('count')
plt.show()
编辑并运行代码