当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pandas.DataFrame用法及代码示例


用法:

class pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=None)

二维、大小可变、可能异构的表格数据。

数据结构还包含带标签的轴(行和列)。算术运算在行标签和列标签上对齐。可以将其视为系列对象的dict-like 容器。主要的 pandas 数据结构。

参数

datandarray(结构化或同构)、Iterable、dict 或 DataFrame

Dict 可以包含系列、数组、常量、数据类或list-like 对象。如果数据是一个字典,列顺序遵循insertion-order。如果 dict 包含定义了索引的 Series,则它按其索引对齐。

index索引或array-like

用于结果帧的索引。如果输入数据没有索引信息部分并且没有提供索引,则默认为 RangeIndex。

columns索引或array-like

当数据没有它们时用于结果帧的列标签,默认为 RangeIndex(0, 1, 2, ..., n)。如果数据包含列标签,将改为执行列选择。

dtypedtype,默认无

要强制的数据类型。只允许使用一个 dtype。如果没有,推断。

copy布尔或无,默认无

从输入复制数据。对于 dict 数据, None 的默认行为类似于 copy=True 。对于 DataFrame 或 2d ndarray 输入, None 的默认行为类似于 copy=False

例子

从字典构造 DataFrame。

>>> d = {'col1':[1, 2], 'col2':[3, 4]}
>>> df = pd.DataFrame(data=d)
>>> df
   col1  col2
0     1     3
1     2     4

请注意,推断的 dtype 是 int64。

>>> df.dtypes
col1    int64
col2    int64
dtype:object

要强制执行单个 dtype:

>>> df = pd.DataFrame(data=d, dtype=np.int8)
>>> df.dtypes
col1    int8
col2    int8
dtype:object

从包含 Series 的字典构造 DataFrame:

>>> d = {'col1':[0, 1, 2, 3], 'col2':pd.Series([2, 3], index=[2, 3])}
>>> pd.DataFrame(data=d, index=[0, 1, 2, 3])
   col1  col2
0     0   NaN
1     1   NaN
2     2   2.0
3     3   3.0

从 numpy ndarray 构造 DataFrame:

>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),
...                    columns=['a', 'b', 'c'])
>>> df2
   a  b  c
0  1  2  3
1  4  5  6
2  7  8  9

从具有标记列的 numpy ndarray 构造 DataFrame:

>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)],
...                 dtype=[("a", "i4"), ("b", "i4"), ("c", "i4")])
>>> df3 = pd.DataFrame(data, columns=['c', 'a'])
...
>>> df3
   c  a
0  3  1
1  6  4
2  9  7

从数据类构造 DataFrame:

>>> from dataclasses import make_dataclass
>>> Point = make_dataclass("Point", [("x", int), ("y", int)])
>>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)])
   x  y
0  0  0
1  0  3
2  2  3

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.DataFrame。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。