创建 DataFrame 的几种方法。
1 2
| class pandas.DataFrame(data=None, index: Optional[Collection] = None, columns: Optional[Collection] = None, dtype: Union[str, numpy.dtype, ExtensionDtype, None] = None, copy: bool = False)
|
data 参数可以是:ndarray (structured or homogeneous), Iterable, dict, or DataFrame.
Dict can contain Series, arrays, constants, or list-like objects.
由数组/list组成的字典创建 DataFrame
1 2 3 4 5 6 7 8 9
| import pandas as pd
d = {'col1': [1, 2], 'col2': [3, 4]} df = pd.DataFrame(d) df
col1 col2 0 1 3 1 2 4
|
看看创建的 DataFrame 元素的类型。
1 2 3 4 5
| df.dtypes
col1 int64 col2 int64 dtype: object
|
如果要修改类型
1 2 3 4 5 6 7
| import numpy as np df2 = pd.DataFrame(d, dtype=np.int8) df2.dtypes
col1 int8 col2 int8 dtype: object
|
由 Series 组成的字典创建 DataFrame
1 2 3 4 5 6 7
| df3 = pd.DataFrame({'col1': pd.Series([1, 2]), 'col2': pd.Series([3, 4])}) df3
col1 col2 0 1 3 1 2 4
|
由字典组成的列表创建 DataFrame
1 2 3 4 5 6 7
| df4 = pd.DataFrame([{'col1': 1, 'col2': 3}, {'col1': 2, 'col2': 4}]) df4
col1 col2 0 1 3 1 2 4
|
由字典组成的字典创建 DataFrame
column 为父字典的 key,index 为子字典的 key。
1 2 3 4 5 6 7
| df4 = pd.DataFrame({'col1': {'idx1': 1, 'idx2': 2}, 'col2': {'idx1': 3, 'idx2': 4}}) df4
col1 col2 idx1 1 3 idx2 2 4
|
由二维数组创建 DataFrame
1 2 3 4 5 6 7
| df5 = pd.DataFrame([[1, 3], [2, 4]]) df5
0 1 0 1 3 1 2 4
|
当然,也可以自定义 index 和 column
1 2 3 4 5 6
| df6 = pd.DataFrame([[1, 3], [2, 4]], index=['a', 'b'], columns=['c1', 'c2']) df6
c1 c2 a 1 3 b 2 4
|