Pandas —— DataFrame 属性

本文详细介绍了PandasDataFrame的属性,如转置、列标签、索引等,以及at、iat、loc和iloc四个访问方法的区别与使用示例,着重展示了如何通过标签或位置访问和修改单个值或一组数据。
摘要由CSDN通过智能技术生成

属性汇总 

属性名说明
TDataFrame 的转置
at访问行/列标签对的单个值
attrs该数据集的全局属性字典
axes返回表示 DataFrame 轴的列表。
columnsDataFrame 的列标签。
dtypes返回 DataFrame 中的 dtype。
empty指示Series/DataFrame是否为空。
flags获取与此 pandas 对象关联的属性。
iat按整数位置访问行/列对的单个值。
iloc(已弃用)纯粹基于整数位置的索引,用于按位置选择。
indexDataFrame 的索引(行标签)。
loc通过标签或布尔数组访问一组行和列。
ndim返回一个 int 表示轴数/数组维度。
shape返回表示 DataFrame 维度的元组。
size返回一个 int 表示该对象中元素的数量(数据量总数)。
style返回一个 Styler 对象。
values返回 DataFrame 的 Numpy 表示形式。

属性使用示例

        声明原始数据框:

import pandas as pd
import numpy as np

data = {
    'age': np.random.randint(10, 20, size=10),
    'math': np.random.randint(40, 100, size=10),
    'english': np.random.randint(50, 100, size=10),
    'chinese': np.random.randint(60, 100, size=10)
}

df = pd.DataFrame(data)

# 原始数据框:
   age  math  english  chinese
0   13    77       91       90
1   11    90       85       66
2   11    47       93       81
3   11    40       57       96
4   15    56       61       64
5   18    48       67       87
6   19    63       64       74
7   14    54       79       83
8   14    51       97       97
9   15    86       80       76

1. T

print(df.T)
# 转置后的数据框
          0   1   2   3   4   5   6   7   8   9
age      15  16  19  15  14  16  16  18  10  19
math     43  59  97  75  40  88  41  40  71  92
english  50  68  61  83  57  96  62  56  77  64
chinese  98  66  64  60  79  85  94  64  95  74

 2.   at、iat、loc、iloc

import pandas as pd
import numpy as np

data = {
    'age': np.random.randint(10, 20, size=10),
    'math': np.random.randint(40, 100, size=10),
    'english': np.random.randint(50, 100, size=10),
    'chinese': np.random.randint(60, 100, size=10)
}

df = pd.DataFrame(data)
print(f'源数据框:\n{df}')
print(f'使用at取值:{df.at[0, "age"]}')
print(f'使用iat取值:{df.iat[0, 0]}')
print(f'使用loc取值:{df.loc[0, "age"]}')
print(f'使用iloc取值:{df.iloc[0, 0]}')
print(f'使用loc取一组列:\n{df.loc[:, "age"]}')
print(f'使用iloc取一组行:\n{df.iloc[0, :]}')

df.at[0, 'age'] = 8
print(f'使用at更改数据框指定位置值:{df.at[0, "age"]}')
df.loc[0, 'age'] = 6
print(f'使用loc更改数据框指定位置值:{df.at[0, "age"]}')


# 数据输出:
源数据框:
   age  math  english  chinese
0   11    99       89       62
1   11    67       88       71
2   15    75       74       88
3   13    50       67       89
4   12    80       57       81
5   17    51       95       60
6   12    60       80       65
7   16    43       61       74
8   10    62       97       80
9   16    85       89       71
使用at取值:11
使用iat取值:11
使用loc取值:11
使用iloc取值:11
使用loc取一组列:
0    11
1    11
2    15
3    13
4    12
5    17
6    12
7    16
8    10
9    16
Name: age, dtype: int32
使用iloc取一组行:
age        11
math       99
english    89
chinese    62
Name: 0, dtype: int32
使用at更改数据框指定位置值:8
使用loc更改数据框指定位置值:6
  • at、iat 与 loc、iloc相比,loc与iloc可以取数据框的一组行/列值,而at、iat只能取数据框的单个值。
  • at、loc与iat、iloc相比,at、loc按标签取值,iat、iloc按位置取值。
  • 四者均可对数据框数据进行修改。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值