Python加载数据的5种方法

大家好,今天回顾五种引入数据的Python技术,并附有代码实例参考。

我们将使用Numpy、Pandas和Pickle包,所以要导入它们:

import numpy as np
import pandas as pd
import pickle

Manual功能

这是最困难的,因为你必须设计一个自定义函数,它可以为你加载数据,必须处理Python的正常归档概念,并利用它来读取一个.csv文件。

def load_csv(filepath):
    data =  []
    col = []
    checkcol = False
    with open(filepath) as f:
        for val in f.readlines():
            val = val.replace("\n","")
            val = val.split(',')
            if checkcol is False:
                col = val
                checkcol = True
            else:
                data.append(val)
    df = pd.DataFrame(data=data, columns=col)
    return df

输出

myData = load_csv('100 Sales Record.csv')
print(myData.head())

Numpy.loadtxt函数

这是Numpy中的一个内置函数,Numpy是Python中一个著名的数值库。它是一个非常简单的加载数据的函数。它对于读取相同数据类型的数据非常有用。

当数据比较复杂时,使用这个函数很难读取,但当文件比较容易和简单时,这个函数真的很强大。

df = np.loadtxt('convertcsv.csv', delimeter = ',')

这里我们简单地使用了loadtxt函数,因为这是一个CSV文件,所以在delimeter中传递了','。

现在,如果我们打印df,我们将看到我们的数据在相当体面的numpy数组中,可以随时使用。

print(df[:5,:])

 Numpy.genfromtxt()

我们将使用我们在第一个例子中使用的数据集'100 Sales Records.csv'来证明我们可以在其中有多种数据类型。

data = np.genfromtxt('100 Sales Records.csv', delimiter=',')

为了更清楚地看到它,我们可以直接用数据框架的格式来看:

>>> pd.DataFrame(data)

只需添加另一个dtype参数,并将dtype设置为None,这意味着它必须照顾到每一列的数据类型本身。而不是将整个数据转换为单一的dtype。

data = np.genfromtxt('100 Sales Records.csv', delimiter=',', dtype=None)

然后再进行输出:

>>> pd.DataFrame(data).head()

 Pandas.read_csv()

Pandas是一个非常流行的数据处理库,而且它非常常用。它的一个非常重要和成熟的函数是read_csv(),它可以非常容易地读取任何.csv文件并帮助我们操作它。让我们在我们的100-销售记录数据集上做一下。

>>> pdDf = pd.read_csv('100 Sales Record.csv')
>>> pdDf.head()

Pandas.read_csv提供了很多其他的参数来调整我们的数据集,例如在我们的convertcsv.csv文件中,我们没有列名,所以我们可以把它读成。

>>> newdf = pd.read_csv('convertcsv.csv', header=None)
>>> newdf.head()

我们可以看到,它已经读取了没有标题的csv文件。

Pickle

当你的数据不是一个好的、人类可读的格式时,你可以使用pickle把它保存为二进制格式,然后你可以使用pickle库轻松地重新加载它。

with open('test.pkl','wb') as f:
    pickle.dump(pdDf, f)

这将创建一个新的文件test.pkl,里面有我们来自Pandas的pdDf标题。

现在要用pickle打开它,我们只需要使用pickle.load函数。

with open("test.pkl", "rb") as f:
    d4 = pickle.load(f)

>>> d4.head()

而在这里,我们已经成功地从pandas.DataFrame格式的pickle文件中加载数据。

你现在知道了在Python中加载数据文件的5种不同方法,当你在日常项目中工作时,这些方法可以帮助你以不同方式加载数据集。

你可能感兴趣的:(python,开发语言)