Pandas进阶 —— DataFrame构造(一)

1. DataFrame基本特性

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

2. DataFrame构造方法

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

参数说明:

参数名说明
data

ndarray (structured or homogeneous), Iterable, dict, or DataFrame

选填,不填则为空DataFrame对象。

index

行索引,对象为一维数组

选填,不填默认RangeIndex。

columns

列标签,对象为一维数组

选填,不填默认RangeIndex。

dtype

指定数据类型,默认None。若不为None则强制数据类型。只允许使用单一数据类型。

copy

bool 或 None,默认 None。

False表示在创建DataFrame时不复制数据,而是使用数据的引用。如果设置为True,将创建一个新的副本。

关于copy的补充:

  • 对于字典数据,None的默认行为相当于copy=True。
  • 对于DataFrame或二维数组,None的默认行为相当于copy=False。
  • 对于包含一个或多个Series的字典(可能具有不同的dtype),copy=False。

3. DataFrame构造示例

3.1 使用普通字典构造DataFrame

import pandas as pd
import numpy as np
data = {
        'math': np.random.randint(60, 100, size=3),
        'age': [12, 15, 16], # 列表可替换为Series、numpy ndarray
    }
index = pd.Series(['Jesse', 'Bob', 'Jerry'])
df = pd.DataFrame(data, index=index)
print(f'DataFrame数据结构为:\n{df} \n该对象数据类型为:\n{df.dtypes}')

# 若想指定异构数据的dtype,可用Series或numpy进行指定,再构造DataFrame对象
df = pd.DataFrame(data, index=index, dtype='int8')
print(f'指定数据类型后:\nDataFrame数据结构为:\n{df} \n该对象数据类型为:\n{df.dtypes}')

# 终端输出
DataFrame数据结构为:
       math  age
Jesse    62   12
Bob      96   15
Jerry    77   16 
该对象数据类型为:
math    int32
age     int64
dtype: object
指定数据类型后:
DataFrame数据结构为:
       math  age
Jesse    62   12
Bob      96   15
Jerry    77   16 
该对象数据类型为:
math    int8
age     int8
dtype: object

3.2 读取CSV文件构建DataFrame

pandas.read_csv(filepath_or_buffer, *, sep=_NoDefault.no_default, 
    delimiter=None, header='infer', names=_NoDefault.no_default, 
    index_col=None, usecols=None, dtype=None, engine=None, 
    converters=None, true_values=None, false_values=None, 
    skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, 
    na_values=None, keep_default_na=True, na_filter=True, 
    verbose=_NoDefault.no_default, skip_blank_lines=True, 
    parse_dates=None, infer_datetime_format=_NoDefault.no_default, 
    keep_date_col=_NoDefault.no_default, date_parser=_NoDefault.no_default, 
    date_format=None, dayfirst=False, cache_dates=True, iterator=False, 
    chunksize=None, compression='infer', thousands=None, decimal='.', 
    lineterminator=None, quotechar='"', quoting=0, doublequote=True, 
    escapechar=None, comment=None, encoding=None, encoding_errors='strict', 
    dialect=None, on_bad_lines='error', delim_whitespace=_NoDefault.no_default,  
    low_memory=True, memory_map=False, float_precision=None, storage_options=None, 
    dtype_backend=_NoDefault.no_default)

 参数说明(这里暂时只解释filepath_or_buffer参数):

参数名说明
filepath_or_buffer

文件路径或类文件对象。

类文件对象,我们指的是具有read()方法的对象。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值