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

可以通过遍历的方法:
pandas按行按列遍历Dataframe的几种方式:https://blog.csdn.net/sinat_29675423/article/details/87972498

选择列

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

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

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

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

>>> 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

选取元素,或者行

>>> 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])

>>> df.iloc[0]
a    1
b    2
c    3
d    4
Name: 0, dtype: int64

你可能感兴趣的:(python语言基础)