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


Python Pandas DataFrame构造函数用法及代码示例


Pandas 的 DataFrame(~) 构造函数用于初始化新的 DataFrame。

参数

1.data | scalar2D ndarrayiterabledictDataFrame

dict 可以包含标量和类似数组的对象,例如列表、Series 和 NumPy 数组。

2. index | Indexarray-like | optional

用于 DataFrame 的索引。默认情况下,如果未传递indexdata未提供索引,则将使用整数索引。

3. columns | Indexarray-like | optional

用于 DataFrame 的列标签。默认情况下,如果未传递 columns 并且 data 未提供列标签,则将使用整数索引。

4. dtype | dtype | optional

如果可能,用于 DataFrame 的数据类型。只允许一种类型,如果类型转换不成功也不会抛出错误。默认情况下, dtype=None ,即推断数据类型。

5. copy | boolean | optional

仅当 dataDataFrame2D ndarray 时,此参数才相关。

  • 如果True,则返回新的DataFrame。修改返回的 DataFrame 不会影响 data ,反之亦然。

  • 如果是False,那么修改返回的DataFrame也会改变原来的data,反之亦然。

默认情况下,copy=False

返回值

DataFrame 对象。

例子

使用数组字典

要使用数组字典创建DataFrame:

df = pd.DataFrame({"A":[3,4], "B":[5,6]})
df



   A  B
0  3  5
1  4  6

这里,字典的键值对如下:

  • key:列标签

  • value:该列的值

此外,由于 data 不包含任何索引(即行标签),因此使用默认的整数索引。

使用嵌套字典

要使用嵌套字典创建DataFrame:

col_one = {"a":3,"b":4}
col_two = {"a":5,"b":6}
df = pd.DataFrame({"A":col_one, "B":col_two})
df



   A  B
a  3  5
b  4  6

在这里,我们在 col_onecol_two 中指定了索引。

使用系列

要使用系列创建DataFrame:

s_one = pd.Series([3,4], index=["a","b"])
s_two = pd.Series([5,6], index=["a","b"])
df = pd.DataFrame({"A":s_one, "B":s_two})
df



   A  B
a  3  5
b  4  6

使用二维数组

我们可以传入 2D 列表或 2D NumPy 数组,如下所示:

df = pd.DataFrame([[3,4],[5,6]])
df



   0  1
0  3  4
1  5  6

请注意默认的行和列标签是整数索引。

使用常数

要使用单个常量初始化DataFrame,我们需要指定参数columnsindex以定义DataFrame的形状:

pd.DataFrame(2, index=["a","b"], columns=["A","B","C"])



   A  B  C
a  2  2  2
b  2  2  2

指定列标签和索引

要显式设置列标签和索引(即行标签):

df = pd.DataFrame([[3,4],[5,6]], columns=["A","B"], index=["a","b"])
df



   A  B
a  3  4
b  5  6

指定数据类型

要设置所有列类型的首选项:

df = pd.DataFrame([["3",4],["5",6]], dtype=float)
df



   0    1
0  3.0  4.0
1  5.0  6.0

请注意 "3" 如何转换为 float

请注意,即使类型转换不成功,也不会抛出错误。例如:

df = pd.DataFrame([["3@@@",4],["5",6]], dtype=float)
df



   0     1
0  3@@@  4.0
1  5     6.0

这里,列的数据类型如下:

df.dtypes



0     object
1    float64
dtype: object

相关用法


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