详解pandas获取Dataframe元素值的几种方法

时间:2022-08-24 18:34:08

可以通过遍历的方法:

选择列

使用类字典属性,返回的是Series类型
data[‘w']
遍历Series

?
1
2
for index in data['w'] .index:
time_dis = data['w'] .get(index)

pandas.DataFrame.at

根据行索引和列名,获取一个元素的值

?
1
2
3
4
5
6
7
>>> 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
?
1
2
>>> df.at[4, 'B']
2

或者

?
1
2
>>> df.iloc[5].at['B']
4

pandas.DataFrame.iat

根据行索引和列索引获取元素值

?
1
2
3
4
5
6
7
>>> 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
?
1
2
>>> df.iat[1, 2]
1

或者

?
1
2
>>> df.iloc[0].iat[1]
2

pandas.DataFrame.loc

选取元素,或者行

?
1
2
3
4
5
6
7
8
>>> 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

选取元素

?
1
2
>>> df.loc['cobra', 'shield']
2

选取行返回一个series

?
1
2
3
4
>>> df.loc['viper']
max_speed 4
shield  5
Name: viper, dtype: int64

选取行列返回dataframe

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>> 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

按索引选取元素

?
1
2
>>> df.iloc[0, 1]
2

获取行的series

?
1
2
3
4
5
6
7
8
>>> 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元素值内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/sinat_29675423/article/details/87975489