當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。