Python的datatable
,在一定程度上不乏为pandas有力竞争者,其模仿R中data.table的核心算法和接口,致力于更快的、处理size更大的数据。
这里分享datatable的101个常用操作 ,助快速上手datatable。
0、安装
pip install datatable
1、加载datatable、查看版本号
import datatable as dt
dt.__version__
2、三种方式创建datatable.Frame
import pandas as pd
import numpy as np
import datatable as dt
# Inputs
my_list = list('abcedfghijklmnopqrstuvwxyz')
my_arr = np.arange(26)
my_df = pd.DataFrame(dict(col1=my_list, col2=my_arr))
# Solution
dt_df1 = dt.Frame(my_list) #list创建
dt_df2 = dt.Frame(my_arr) #numpy.ndarray
dt_df3 = dt.Frame(my_df) #pandas.DataFrame
dt_df4 = dt.Frame(A=my_arr, B=my_list)
3、读取csv文件为datatable.Frame
import datatable as dt
df = dt.fread(
'https://raw.githubusercontent.com/selva86/datasets/master/BostonHousing.csv'
)
df.head(5)
左下方会默认显示行列数,这是pandas不具有的~
4、 读取csv文件前5行
import datatable as dt
df = dt.fread(
'https://raw.githubusercontent.com/selva86/datasets/master/BostonHousing.csv',
max_nrows=5)
df
5、为datatable.Frame新增一列
# Input
import datatable as dt
df = dt.fread(
'https://raw.githubusercontent.com/selva86/datasets/master/BostonHousing.csv',
max_nrows=5)
# Solution
df[:, "new_column"] = dt.Frame([1, 2, 3, 4, 5]) #新增一列new_column
df
6、取已有列创建新列
# Input
import datatable as dt
df = dt.fread('datasets-master/BostonHousing.csv')
# Solution
df[:, "new_column"] = df[:, dt.f.age + dt.f.rad]
df.head()
7、取已有列整数部分创建新列
# Input
import datatable as dt
df = dt.fread('datasets-master/BostonHousing.csv')
# Solution
df[:, "new_column"] = df[:, dt.int32(dt.f.dis)]
df.head(5)