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: 假设你有以下字典: ```python my_dict = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'gender': ['F', 'M', 'M']} ``` 要将这个字典转换成一个 Pandas 中的 DataFrame,可以使用以下代码: ```python import pandas as pd df = pd.DataFrame(my_dict) ``` 这将创建一个名为 `df` 的 DataFrame,其中包含 `my_dict` 中的数据。现在,您可以使用 Pandas 中提供的各种方法来操作和分析您的数据。 ### 回答2: 要将一行字典转换为Pandas中的DataFrame,可以按照以下步骤进行操作。 首先,导入Pandas库: import pandas as pd 然后,定义字典: row_dict = {'列1': 值1, '列2': 值2, '列3': 值3, ...} 接下来,将字典转换为DataFrame: df = pd.DataFrame([row_dict]) 通过将字典传递给pd.DataFrame()函数,并将其放在列表中作为参数,可以将字典转换为DataFrame对象。 最后,可以根据需要对DataFrame进行操作,如打印、保存或进一步处理。 这样,一行字典就成功转换为了Pandas中的DataFrame。 ### 回答3: 要将一行字典转换为pandas中的dataframe,可以使用pandas的from_dict()方法。 首先,我们需要导入pandas库: import pandas as pd 然后,我们可以创建一个字典: data = {'姓名': '张三', '年龄': 20, '性别': '男'} 接下来,我们使用from_dict()方法将字典转换为dataframe: df = pd.DataFrame.from_dict(data, orient='index') 在这里,我们指定了orient参数为'index',以将字典的键作为dataframe的行索引。 最后,我们可以打印出转换后的dataframe: print(df) 运行以上代码,将得到如下结果的dataframe: 0 姓名 张三 年龄 20 性别 男 以上就是将一行字典转换为pandas中的dataframe的方法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值