Pandas 对象创建

Pandas 对象创建,本章介绍通过传入一些值的列表来创建一个Series对象,通过传递带有日期时间索引和带标签列的NumPy数组来创建DataFrame对象,通过传递可以转化为类似Series的dict对象来创建DataFrame对象。

学习本章知识可以参考:请参阅 数据结构简介的部分

通过传入一些值的列表来创建一个Series对象,Pandas会自动创建一个默认的整数索引,如下所示:

import numpy as np
import pandas as pd
s = pd.Series([1, 3, 5, np.nan, 6, 8])
print (s)

执行结果如下:
Pandas 对象创建

通过传递带有日期时间索引和带标签列的NumPy数组来创建DataFrame对象,如下所示:

import numpy as np
import pandas as pd
dates = pd.date_range('20130101', periods=6)
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))
print (dates)
print(df)

执行结果如下:
Pandas 对象创建

通过传递可以转化为类似Series的dict对象来创建DataFrame对象,如下所示:

import numpy as np
import pandas as pd
df2 = pd.DataFrame({'A': 1.,
                    'B': pd.Timestamp('20130102'),
                    'C': pd.Series(1, index=list(range(4)), dtype='float32'),
                    'D': np.array([3] * 4, dtype='int32'),
                    'E': pd.Categorical(["test", "train", "test", "train"]),
                    'F': 'foo'})
print(df2)

执行结果如下:

     A          B    C  D      E    F
0  1.0 2013-01-02  1.0  3   test  foo
1  1.0 2013-01-02  1.0  3  train  foo
2  1.0 2013-01-02  1.0  3   test  foo
3  1.0 2013-01-02  1.0  3  train  foo

DataFrame的列具有不同的数据类型。

import numpy as np
import pandas as pd
df2 = pd.DataFrame({'A': 1.,
                    'B': pd.Timestamp('20130102'),
                    'C': pd.Series(1, index=list(range(4)), dtype='float32'),
                    'D': np.array([3] * 4, dtype='int32'),
                    'E': pd.Categorical(["test", "train", "test", "train"]),
                    'F': 'foo'})
print(df2.dtypes)

输出结果:

A           float64
B    datetime64[ns]
C           float32
D             int32
E          category
F            object
dtype: object

如果你正在使用 IPython, 按下tab键会自动补全所有的列名以及公共属性。下面是可以补全的属性中的一部分:

In [12]: df2.<TAB>  # noqa: E225, E999
df2.A                  df2.bool
df2.abs                df2.boxplot
df2.add                df2.C
df2.add_prefix         df2.clip
df2.add_suffix         df2.clip_lower
df2.align              df2.clip_upper
df2.all                df2.columns
df2.any                df2.combine
df2.append             df2.combine_first
df2.apply              df2.compound
df2.applymap           df2.consolidate
df2.D

如你所见,列A、B、C和D将自动补全,E也存在;为了简洁起见,只显示了一部分属性。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程