详解pandas获取Dataframe元素值的几种方法
本文详细介绍在Python pandas中获取Dataframe元素值的多种方法。包括通过遍历、类字典属性访问Series,以及使用at、iat、loc和iloc等属性根据行索引、列名或索引位置精准获取单个元素、单行或多行数据,涵盖Series与Dataframe的返回类型差异。
pandas获取Dataframe元素值的方法
可以通过遍历的方法:
pandas按行按列遍历Dataframe的几种方式:https://www.jb51.net/article/172623.htm
选择列
选择列
使用类字典属性,返回的是Series类型 data[‘w'] 遍历Series
for index in data['w'] .index:
time_dis = data['w'] .get(index)
pandas.DataFrame.at
pandas.DataFrame.at
根据行索引和列名,获取一个元素的值
>>> df = pd.DataFrame([[0, 2, 3], [0, 4, 1], [10, 20, 30]],
... columns=['A', 'B', 'C'])
>>> df
A B C
0 0 2 3
1 0 4 1
2 10 20 30
>>> df.at[4, 'B']
2
或者
>>> df.iloc[5].at['B']
4
pandas.DataFrame.iat
pandas.DataFrame.iat
根据行索引和列索引获取元素值
>>> df = pd.DataFrame([[0, 2, 3], [0, 4, 1], [10, 20, 30]],
... columns=['A', 'B', 'C'])
>>> df
A B C
0 0 2 3
1 0 4 1
2 10 20 30
>>> df.iat[1, 2]
1
或者
>>> df.iloc[0].iat[1]
2
pandas.DataFrame.loc
pandas.DataFrame.loc
选取元素,或者行
>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
... index=['cobra', 'viper', 'sidewinder'],
... columns=['max_speed', 'shield'])
>>> df
max_speed shield
cobra 1 2
viper 4 5
sidewinder 7 8
选取元素
>>> df.loc['cobra', 'shield']
2
选取行返回一个series
>>> df.loc['viper']
max_speed 4
shield 5
Name: viper, dtype: int64
选取行列返回dataframe
>>> df.loc[['viper', 'sidewinder']]
max_speed shield
viper 4 5
sidewinder 7 8
pandas.DataFrame.iloc
>>> mydict = [{'a': 1, 'b': 2, 'c': 3, 'd': 4},
... {'a': 100, 'b': 200, 'c': 300, 'd': 400},
... {'a': 1000, 'b': 2000, 'c': 3000, 'd': 4000 }]
>>> df = pd.DataFrame(mydict)
>>> df
a b c d
0 1 2 3 4
1 100 200 300 400
2 1000 2000 3000 4000
按索引选取元素
>>> df.iloc[0, 1]
2
获取行的series
>>> type(df.iloc[0])
<class 'pandas.core.series.Series'>
>>> df.iloc[0]
a 1
b 2
c 3
d 4
Name: 0, dtype: int64
到此这篇关于详解pandas获取Dataframe元素值几种方法的文章就介绍到这了,更多相关pandas获取Dataframe元素值内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













