pandas.DataFrame #
- 熊猫类 。DataFrame ( data = None , index = None , columns = None , dtype = None , copy = None ) [来源] #
二维、大小可变、可能异构的表格数据。
数据结构还包含标记的轴(行和列)。算术运算在行标签和列标签上对齐。可以被认为是 Series 对象的类似字典的容器。主要的 pandas 数据结构。
- 参数:
- 数据ndarray(结构化或同类)、Iterable、dict 或 DataFrame
Dict 可以包含系列、数组、常量、数据类或类似列表的对象。如果数据是字典,则列顺序遵循插入顺序。如果字典包含已定义索引的系列,则它按其索引对齐。如果数据是 Series 或 DataFrame 本身,也会发生这种对齐。对齐是在系列/数据帧输入上完成的。
如果数据是字典列表,则列顺序遵循插入顺序。
- 索引索引或类似数组
用于结果帧的索引。如果输入数据没有索引信息部分且未提供索引,则默认为 RangeIndex。
- 列索引或类似数组
当数据没有列标签时用于结果帧的列标签,默认为 RangeIndex(0, 1, 2, …, n)。如果数据包含列标签,则将执行列选择。
- dtype 数据类型,默认无
数据类型强制。只允许使用单一数据类型。如果没有,则推断。
- 复制bool 或 None,默认 None
从输入复制数据。对于 dict 数据,默认 None 的行为类似于
copy=True
.对于 DataFrame 或 2d ndarray 输入,默认 None 的行为类似于copy=False
。如果数据是包含一个或多个系列(可能具有不同数据类型)的字典,copy=False
将确保这些输入不会被复制。在 1.3.0 版本中进行了更改。
也可以看看
DataFrame.from_records
元组的构造函数,也记录数组。
DataFrame.from_dict
来自系列、数组或字典的字典。
read_csv
将逗号分隔值 (csv) 文件读入 DataFrame。
read_table
将通用分隔文件读入 DataFrame。
read_clipboard
将文本从剪贴板读取到 DataFrame 中。
笔记
请参阅用户指南以获取更多信息。
例子
从字典构造 DataFrame。
>>> d = {'col1': [1, 2], 'col2': [3, 4]} >>> df = pd.DataFrame(data=d) >>> df col1 col2 0 1 3 1 2 4
请注意,推断的数据类型是 int64。
>>> df.dtypes col1 int64 col2 int64 dtype: object
要强制执行单一数据类型:
>>> 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
从 Series/DataFrame 构造 DataFrame:
>>> ser = pd.Series([1, 2, 3], index=["a", "b", "c"]) >>> df = pd.DataFrame(data=ser, index=["a", "c"]) >>> df 0 a 1 c 3
>>> df1 = pd.DataFrame([1, 2, 3], index=["a", "b", "c"], columns=["x"]) >>> df2 = pd.DataFrame(data=df1, index=["a", "c"]) >>> df2 x a 1 c 3
属性
DataFrame 的转置。
访问行/列标签对的单个值。
该数据集的全局属性字典。
返回表示 DataFrame 轴的列表。
DataFrame 的列标签。
返回 DataFrame 中的 dtype。
指示Series/DataFrame是否为空。
flags
获取与此 pandas 对象关联的属性。
按整数位置访问行/列对的单个值。
(已弃用)纯粹基于整数位置的索引,用于按位置选择。
DataFrame 的索引(行标签)。
通过标签或布尔数组访问一组行和列。
返回一个 int 表示轴数/数组维度。
返回表示 DataFrame 维度的元组。
返回一个 int 表示该对象中元素的数量。
返回一个 Styler 对象。
返回 DataFrame 的 Numpy 表示形式。
方法
abs
()返回包含每个元素的绝对数值的 Series/DataFrame。
add
(其他[,轴,级别,填充值])获取数据帧和其他元素的加法(二元运算符add)。
add_prefix
(前缀[,轴])带有字符串prefix 的前缀标签。
add_suffix
(后缀[,轴])后缀标签带有字符串后缀。
agg
([函数,轴])使用指定轴上的一项或多项操作进行聚合。
aggregate
([函数,轴])使用指定轴上的一项或多项操作进行聚合。
align
(其他[、连接、轴、级别、复制、...])使用指定的连接方法将两个对象在其轴上对齐。
all
([轴,bool_only,skipna])返回是否所有元素都为 True(可能在轴上)。
any
(*[,轴,bool_only,skipna])返回任何元素是否为 True,可能在轴上。
apply
(func[, axis, raw, result_type, args, ...])沿 DataFrame 的轴应用函数。
applymap
(func[, na_action])(已弃用)将函数按元素应用于 Dataframe。
asfreq
(频率[、方法、如何、标准化、...])将时间序列转换为指定频率。
asof
(其中[,子集])返回最后一行,其中where之前没有任何 NaN 。
assign
(**夸格斯)将新列分配给 DataFrame。
astype
(dtype[, 复制, 错误])将 pandas 对象转换为指定的 dtype
dtype
。at_time
(时间[,asof,轴])选择一天中特定时间的值(例如上午 9:30)。
backfill
(*[、轴、就地、限制、向下])(已弃用)通过使用下一个有效观察来填充 NA/NaN 值来填补空白。
between_time
(开始时间,结束时间[,...])选择一天中特定时间之间的值(例如上午 9:00-9:30)。
bfill
(*[、轴、就地、限制、限制区域、...])通过使用下一个有效观察来填补空白来填充 NA/NaN 值。
bool
()(已弃用)返回单个元素 Series 或 DataFrame 的 bool。
boxplot
([列、按、斧头、字体大小、旋转、...])根据 DataFrame 列绘制箱线图。
clip
([下、上、轴、就地])在输入阈值处修剪值。
combine
(其他,func[,填充值,覆盖])与另一个 DataFrame 执行按列组合。
combine_first
(其他)使用other中相同位置的值更新 null 元素。
compare
(其他[,align_axis,keep_shape,...])与另一个 DataFrame 进行比较并显示差异。
convert_dtypes
([推断对象,...])使用 dtypes 支持将列转换为最佳可能的 dtypes
pd.NA
。copy
([深的])复制该对象的索引和数据。
corr
([方法,最小周期,仅限数字])计算列的成对相关性,不包括 NA/null 值。
corrwith
(其他[,轴,下降,方法,...])计算成对相关性。
count
([轴,仅数字])计算每列或行的非 NA 单元格数量。
cov
([min_periods, ddof, numeric_only])计算列的成对协方差,不包括 NA/null 值。
cummax
([轴,跳过])返回 DataFrame 或 Series 轴上的累积最大值。
cummin
([轴,跳过])返回 DataFrame 或 Series 轴上的累积最小值。
cumprod
([轴,跳过])返回 DataFrame 或 Series 轴上的累积乘积。
cumsum
([轴,跳过])返回 DataFrame 或 Series 轴上的累积和。
describe
([百分位数、包括、排除])生成描述性统计数据。
diff
([周期、轴])元素的第一个离散差分。
div
(其他[,轴,级别,填充值])获取数据帧和其他元素的浮动除法(二元运算符truediv)。
divide
(其他[,轴,级别,填充值])获取数据帧和其他元素的浮动除法(二元运算符truediv)。
dot
(其他)计算 DataFrame 和其他 DataFrame 之间的矩阵乘法。
drop
([标签、轴、索引、列、级别...])从行或列中删除指定的标签。
drop_duplicates
([子集、保留、就地、...])返回删除了重复行的 DataFrame。
droplevel
(水平[,轴])返回系列/数据帧,并删除请求的索引/列级别。
dropna
(*[、轴、如何、脱粒、子集、...])删除缺失值。
duplicated
([子集,保留])返回表示重复行的布尔系列。
eq
(其他[,轴,水平])获取数据帧和其他元素的等于(二元运算符eq)。
equals
(其他)测试两个对象是否包含相同的元素。
eval
(expr, *[, 就地])评估描述 DataFrame 列操作的字符串。
ewm
([com、span、半衰期、alpha、...])提供指数加权 (EW) 计算。
expanding
([min_periods, 轴, 方法])提供扩展窗口计算。
explode
(列[,忽略索引])将类似列表的每个元素转换为一行,复制索引值。
ffill
(*[、轴、就地、限制、限制区域、...])通过将最后一个有效观测值传播到下一个有效观测值来填充 NA/NaN 值。
fillna
([值、方法、轴、就地、...])使用指定的方法填充 NA/NaN 值。
filter
([项目,如,正则表达式,轴])根据指定的索引标签对数据帧行或列进行子集化。
first
(抵消)(已弃用)根据日期偏移选择时间序列数据的初始周期。
返回第一个非 NA 值的索引,如果未找到非 NA 值,则返回 None。
floordiv
(其他[,轴,级别,填充值])获取数据帧和其他元素的整数除法(二元运算符Floordiv)。
from_dict
(数据[,方向,数据类型,列])从类似数组的字典或字典构造 DataFrame。
from_records
(数据[、索引、排除、...])将结构化或记录 ndarray 转换为 DataFrame。
ge
(其他[,轴,水平])获取大于或等于数据帧和其他元素(二元运算符ge)。
get
(键[,默认])从给定键的对象中获取项目(例如:DataFrame 列)。
groupby
([按、轴、级别、as_index、排序、...])使用映射器或一系列列对 DataFrame 进行分组。
gt
(其他[,轴,水平])获取大于数据帧和其他元素的数据(二元运算符gt)。
head
([n])返回前n行。
hist
([列、按、网格、xlabelsize、xrot、...])制作 DataFrame 列的直方图。
idxmax
([轴,skipna,仅限数字])返回请求轴上第一次出现最大值的索引。
idxmin
([轴,skipna,仅限数字])返回请求轴上第一次出现最小值的索引。
infer_objects
([复制])尝试为对象列推断更好的数据类型。
info
([详细、buf、max_cols、内存使用情况、...])打印 DataFrame 的简洁摘要。
insert
(loc,列,值[,允许重复项])将列插入 DataFrame 中的指定位置。
interpolate
([方法、轴、限制、就地、...])使用插值方法填充 NaN 值。
isetitem
(位置,值)在位置为loc 的列中设置给定值。
isin
(数值)DataFrame 中的每个元素是否包含在值中。
isna
()检测缺失值。
isnull
()DataFrame.isnull 是 DataFrame.isna 的别名。
items
()迭代(列名称,系列)对。
iterrows
()将 DataFrame 行作为(索引,系列)对进行迭代。
itertuples
([索引、名称])将 DataFrame 行作为命名元组进行迭代。
join
(其他[,关于,如何,lsuffix,rsuffix,...])连接另一个 DataFrame 的列。
keys
()获取“信息轴”(有关更多信息,请参阅索引)。
kurt
([轴,skipna,仅限数字])返回请求轴上的无偏峰度。
kurtosis
([轴,skipna,仅限数字])返回请求轴上的无偏峰度。
last
(抵消)(已弃用)根据日期偏移选择时间序列数据的最终周期。
返回最后一个非 NA 值的索引,如果未找到非 NA 值,则返回 None。
le
(其他[,轴,水平])获取小于或等于数据帧和其他元素(二元运算符le)。
lt
(其他[,轴,水平])获取小于数据帧和其他元素的数据(二元运算符lt)。
map
(func[, na_action])按元素将函数应用于数据框。
mask
(cond[,其他,就地,轴,水平])替换条件为 True 的值。
max
([轴,skipna,仅限数字])返回请求轴上的最大值。
mean
([轴,skipna,仅限数字])返回请求轴上的值的平均值。
median
([轴,skipna,仅限数字])返回请求轴上的值的中位数。
melt
([id_vars, value_vars, var_name, ...])将 DataFrame 从宽格式逆透视为长格式,可以选择保留标识符集。
memory_usage
([索引,深度])返回每列的内存使用情况(以字节为单位)。
merge
(右[,如何,上,左_上,右_上,...])使用数据库样式连接合并 DataFrame 或命名 Series 对象。
min
([轴,skipna,仅限数字])返回请求轴上的最小值。
mod
(其他[,轴,级别,填充值])获取数据帧和其他元素的模(二元运算符mod)。
mode
([轴,仅限数字,dropna])获取沿选定轴的每个元素的模式。
mul
(其他[,轴,级别,填充值])获取数据帧和其他元素的乘法(二元运算符mul)。
multiply
(其他[,轴,级别,填充值])获取数据帧和其他元素的乘法(二元运算符mul)。
ne
(其他[,轴,水平])获取数据帧和其他元素的不等于(二元运算符ne)。
nlargest
(n,列[,保留])返回按列降序排列的前n行。
notna
()检测现有(非缺失)值。
notnull
()DataFrame.notnull 是 DataFrame.notna 的别名。
nsmallest
(n,列[,保留])返回按列升序排列的前n行。
nunique
([轴, dropna])计算指定轴中不同元素的数量。
pad
(*[、轴、就地、限制、向下])(已弃用)通过将最后一个有效观测值传播到下一个有效观测值来填充 NA/NaN 值。
pct_change
([周期、填充方法、限制、频率])当前元素与先前元素之间的分数变化。
pipe
(func, *args, **kwargs)应用需要 Series 或 DataFrame 的可链接函数。
pivot
(*, 列[, 索引, 值])返回按给定索引/列值组织的重塑的 DataFrame。
pivot_table
([值、索引、列...])创建电子表格样式的数据透视表作为 DataFrame。
pop
(物品)返回物品并从框架中掉落。
pow
(其他[,轴,级别,填充值])获取数据帧和其他元素的指数幂(二元运算符pow)。
prod
([轴、skipna、numeric_only、min_count])返回请求轴上的值的乘积。
product
([轴、skipna、numeric_only、min_count])返回请求轴上的值的乘积。
quantile
([q, 轴, numeric_only, ...])返回请求轴上给定分位数的值。
query
(expr, *[, 就地])使用布尔表达式查询 DataFrame 的列。
radd
(其他[,轴,级别,填充值])获取数据帧和其他元素的加法(二元运算符radd)。
rank
([轴、方法、仅限数字、...])计算沿轴的数值数据排名(1 到 n)。
rdiv
(其他[,轴,级别,填充值])获取数据帧和其他元素的浮动除法(二元运算符rtruediv)。
reindex
([标签、索引、列、轴...])使用可选的填充逻辑使 DataFrame 符合新索引。
reindex_like
(其他[、方法、复制、限制、...])返回一个与其他对象具有匹配索引的对象。
rename
([映射器、索引、列、轴、副本、...])重命名列或索引标签。
rename_axis
([映射器、索引、列、轴、...])设置索引或列的轴名称。
reorder_levels
(顺序[,轴])使用输入顺序重新排列索引级别。
replace
([要替换、值、就地、限制、...])将to_replace中给出的值替换为value。
resample
(规则[,轴,闭合,标签,...])对时间序列数据重新采样。
reset_index
([水平、下降、就地、...])重置索引或其级别。
rfloordiv
(其他[,轴,级别,填充值])获取数据帧和其他元素的整数除法(二元运算符rfloordiv)。
rmod
(其他[,轴,级别,填充值])获取数据帧和其他元素的模(二元运算符rmod)。
rmul
(其他[,轴,级别,填充值])获取数据帧和其他元素的乘法(二元运算符rmul)。
rolling
(窗口[,最小周期,中心,...])提供滚动窗口计算。
round
([小数点])将 DataFrame 舍入为可变的小数位数。
rpow
(其他[,轴,级别,填充值])获取数据帧和其他元素的指数幂(二元运算符rpow)。
rsub
(其他[,轴,级别,填充值])获取数据帧和其他元素的减法(二元运算符rsub)。
rtruediv
(其他[,轴,级别,填充值])获取数据帧和其他元素的浮动除法(二元运算符rtruediv)。
sample
([n, frac, 替换, 权重, ...])从对象轴返回项目的随机样本。
select_dtypes
([包括、排除])根据列 dtypes 返回 DataFrame 列的子集。
sem
([轴、skipna、ddof、numeric_only])返回请求轴上平均值的无偏标准误差。
set_axis
(标签,*[,轴,副本])将所需索引分配给给定轴。
set_flags
(*[,复制,允许重复标签])返回带有更新标志的新对象。
set_index
(键、*[、删除、追加、就地、...])使用现有列设置 DataFrame 索引。
shift
([周期、频率、轴、填充值、后缀])使用可选的时间频率将索引移动所需的周期数。
skew
([轴,skipna,仅限数字])返回请求轴上的无偏斜。
sort_index
(*[、轴、级别、升序、...])按标签对对象进行排序(沿轴)。
sort_values
(按、*[、轴、升序、...])按沿任一轴的值排序。
squeeze
([轴])将一维轴对象压缩为标量。
stack
([级别、dropna、排序、future_stack])将指定级别从列堆叠到索引。
std
([轴、skipna、ddof、numeric_only])返回请求轴上的样本标准差。
sub
(其他[,轴,级别,填充值])获取数据帧和其他元素的减法(二元运算符sub)。
subtract
(其他[,轴,级别,填充值])获取数据帧和其他元素的减法(二元运算符sub)。
sum
([轴、skipna、numeric_only、min_count])返回请求轴上的值的总和。
swapaxes
(轴1,轴2[,复制])(已弃用)适当地互换轴和交换值轴。
swaplevel
([i,j,轴])交换 a 中的 i 和 j 级
MultiIndex
。tail
([n])返回最后n行。
take
(索引[,轴])返回沿轴给定位置索引中的元素。
to_clipboard
(*[, excel, 九月])将对象复制到系统剪贴板。
to_csv
([path_or_buf, sep, na_rep, ...])将对象写入逗号分隔值 (csv) 文件。
to_dict
([定向、进入、索引])将 DataFrame 转换为字典。
to_excel
(excel_writer, *[, 工作表名称, ...])将对象写入 Excel 工作表。
to_feather
(路径,**kwargs)将 DataFrame 写入二进制 Feather 格式。
to_gbq
(目的地表、*[、项目 ID、...])(已弃用)将 DataFrame 写入 Google BigQuery 表。
to_hdf
(path_or_buf, *, key[, 模式, ...])使用 HDFStore 将包含的数据写入 HDF5 文件。
to_html
([buf、列、col_space、标题、...])将 DataFrame 渲染为 HTML 表。
to_json
([path_or_buf, orient, date_format, ...])将对象转换为 JSON 字符串。
to_latex
([buf、列、标题、索引、...])将对象渲染为 LaTeX 表格、长表或嵌套表。
to_markdown
([buf、模式、索引、存储选项])以 Markdown 友好的格式打印 DataFrame。
to_numpy
([dtype, 副本, na_value])将 DataFrame 转换为 NumPy 数组。
to_orc
([路径、引擎、索引、engine_kwargs])将 DataFrame 写入 ORC 格式。
to_parquet
([路径、引擎、压缩、...])将 DataFrame 写入二进制 parquet 格式。
to_period
([频率、轴、副本])将 DataFrame 从 DatetimeIndex 转换为 periodIndex。
to_pickle
(路径、*[、压缩、协议、...])将对象腌制(序列化)到文件。
to_records
([索引,column_dtypes,index_dtypes])将 DataFrame 转换为 NumPy 记录数组。
to_sql
(名称、con、*[、模式、if_exists、...])将存储在 DataFrame 中的记录写入 SQL 数据库。
to_stata
(路径,*[,转换日期,...])将 DataFrame 对象导出为 Stata dta 格式。
to_string
([buf、列、col_space、标题、...])将 DataFrame 渲染为控制台友好的表格输出。
to_timestamp
([频率、方式、轴、复制])在周期开始时转换为时间戳的 DatetimeIndex 。
从 pandas 对象返回一个 xarray 对象。
to_xml
([路径或缓冲区、索引、根名称、...])将 DataFrame 呈现为 XML 文档。
transform
(函数[,轴])调用
func
self 生成一个与 self 具有相同轴形状的 DataFrame。transpose
(*参数[,复制])转置索引和列。
truediv
(其他[,轴,级别,填充值])获取数据帧和其他元素的浮动除法(二元运算符truediv)。
truncate
([之前、之后、轴、复制])在某个索引值之前和之后截断 Series 或 DataFrame。
tz_convert
(tz[, 轴, 水平, 复制])将 tz 感知轴转换为目标时区。
tz_localize
(tz[, 轴, 水平, 复制, ...])将 Series 或 DataFrame 的 tz-naive 索引本地化到目标时区。
unstack
([级别、填充值、排序])透视索引标签的一个级别(必须是分层的)。
update
(其他[、加入、覆盖、...])使用另一个 DataFrame 中的非 NA 值进行适当修改。
value_counts
([子集、标准化、排序、...])返回一个包含数据框中每个不同行的频率的系列。
var
([轴、skipna、ddof、numeric_only])返回请求轴上的无偏方差。
where
(cond[,其他,就地,轴,水平])替换条件为 False 的值。
xs
(键[,轴,级别,drop_level])从系列/数据帧返回横截面。