飞速搞定数据分析与处理-day5-pandas入门教程(数据读取)

2023-08-07 13:18:25 浏览数 (1)

背景

这个并不是书籍里的章节,因为书籍中的 pandas 节奏太快了,基本都是涉及很多中高级的操作,好容易把小伙伴给劝退。我这里先出几期入门的教程,然后再回到书籍里的教程。这几章节作为入门,书籍作为进阶。

Pandas读取CSV

读取 CSV 文件

存储大数据集的一个简单方法是使用CSV文件(逗号分隔文件)。CSV文件包含纯文本,是一种众所周知的格式,包括Pandas在内的所有人都可以阅读。在我们的例子中,我们将使用一个名为'data.csv'的CSV文件。

Download data.csv[1]. or Open data.csv[2]

代码语言:javascript复制
import pandas as pd

df = pd.read_csv('data.csv')

print(df.to_string()) 

Tip: 使用to_string()来打印整个DataFrame。

如果你有一个有很多行的大型DataFrame,Pandas将只返回前5行,和最后5行

max_rows

返回的行数在Pandas选项设置中定义。

你可以用pd.options.display.max_rows语句检查你的系统的最大行数。

代码语言:javascript复制
import pandas as pd

print(pd.options.display.max_rows) 

在我的系统中,这个数字是60,这意味着如果DataFrame包含超过60行,print(df)语句将只返回标题和第一和最后5行。

你可以用同样的语句改变最大行数。

代码语言:javascript复制
import pandas as pd

pd.options.display.max_rows = 9999

df = pd.read_csv('data.csv')

print(df) 

Pandas读取JSON

大数据集通常以JSON形式存储,或提取。JSON是纯文本,但具有对象的格式,在编程的世界里是众所周知的,包括Pandas。在我们的例子中,我们将使用一个名为 "data.json "的JSON文件。

Open data.json[3].

代码语言:javascript复制
import pandas as pd

df = pd.read_json('data.json')

print(df.to_string()) 

Tip: 使用to_string()来打印整个DataFrame。

作为JSON的字典

JSON = Python Dictionary JSON对象的格式与Python字典相同。

如果你的JSON代码不在文件中,而是在Python字典中,你可以直接把它加载到一个DataFrame中:

代码语言:javascript复制
import pandas as pd

data = {
  "Duration":{
    "0":60,
    "1":60,
    "2":60,
    "3":45,
    "4":45,
    "5":60
  },
  "Pulse":{
    "0":110,
    "1":117,
    "2":103,
    "3":109,
    "4":117,
    "5":102
  },
  "Maxpulse":{
    "0":130,
    "1":145,
    "2":135,
    "3":175,
    "4":148,
    "5":127
  },
  "Calories":{
    "0":409,
    "1":479,
    "2":340,
    "3":282,
    "4":406,
    "5":300
  }
}

df = pd.DataFrame(data)

print(df) 

Pandas - 分析DataFrames

查看数据

获取DataFrame快速概览的最常用方法之一是head()方法。head()方法返回标题和指定行数,从顶部开始。

代码语言:javascript复制
import pandas as pd

df = pd.read_csv('data.csv')

print(df.head(10))

在我们的例子中,我们将使用一个名为'data.csv'的CSV文件。下载 data.csv[4], 或者在你的浏览器打开 data.csv[5]

**Note: **如果没有指定行数,head()方法将返回前5行。

还有一个tail()方法用于查看DataFrame的最后行。tail()方法返回标题和指定行数,从底部开始。

代码语言:javascript复制
print(df.tail()) 

关于数据的信息

DataFrames对象有一个叫做info()的方法,可以给你提供更多关于数据集的信息。

代码语言:javascript复制
print(df.info()) 

结果解释

结果告诉我们有169行和4列

RangeIndex: 169 entries, 0 to 168 Data columns (total 4 columns):

而每一列的名称,与数据类型

# Column Non-Null Count Dtype --- ------ -------------- ----- 0 Duration 169 non-null int64 1 Pulse 169 non-null int64 2 Maxpulse 169 non-null int64 3 Calories 164 non-null float64

空值

info()方法还告诉我们每一列有多少个非空值,在我们的数据集中,似乎在 "卡路里 "列有164个非空值。这意味着在 "卡路里 "列中,有5行没有任何数值,不管是什么原因。在分析数据时,空值或Null值可能是不好的,你应该考虑删除有空值的行。这就是所谓的清理数据的一个步骤,在接下来的章节中你会学到更多关于这方面的知识。

0 人点赞