从pandas数据帧中提取单个数据

时间:2016-01-29 00:29:16

标签: python pandas dataframe

如果给定来自不同列的特定值,如何从给定的Dataframe中提取值(字符串)。

例如,我想获得'Adrs',其中'Value'= 2

Adrs  Value
0  AAA      1
1  BBB      2

1    BBB
Name: Adrs, dtype: object

输出:

import pandas as pd

df = pd.DataFrame({'Adrs':["AAA","BBB"],'Value':[2,2]}, index=[0,1])

print(df)
print("")

df2 = df[df['Value']==2]
string = str(df2['Adrs'][1])
print(string)

我想提取“BBB”而不是整个表/数据框。如果不对df2.Adrs

进行一些解析,是否有一种快速的方法可以做到这一点

如果df2有多行,我可以通过df2 ['Adrs']提取BBB [1]

见下文:

 Adrs  Value
0  AAA      2
1  BBB      2

BBB

输出:

std::vector<unsigned char>

2 个答案:

答案 0 :(得分:2)

>>> df.loc[df['Value'] == 2, 'Adrs'].values[0]
'BBB'
>>> df.iat[1, 0]
'BBB'
>>> df.at[1, 'Adrs']
'BBB'

有几种方法。我确定还有更多。

答案 1 :(得分:0)

df2.Adrs仍然是一个系列,所以你要做的就是从中获取一个元素。 df2.Adrs.iloc(0)将为您提供第一个元素,无论索引如何。但是,如果df2有多行,你会怎么做?