通过字符串从特定行中提取一组值

时间:2019-12-26 07:38:23

标签: pandas

enter image description here

我尝试过数学['​​Name],但不能仅获得'Alice'成绩,该怎么办 万一“威廉”没有上数学课,那给我错误。怎么处理呢? 。非常感谢您的帮助。

如何使第[0]行的第一行中包含细分和日期成为标题?

1 个答案:

答案 0 :(得分:1)

首先将新的列名称添加到列表中,例如Col1

math = [['Jason',100,35],
            ['Alice',87.89,100],
            ['Mary',68,0]]

df = pd.DataFrame(math, columns=['Name','Grade', 'Col1'])
print (df)
   Name   Grade  Col1
0  Jason  100.00    35
1  Alice   87.89   100
2   Mary   68.00     0

然后按boolean indexingDataFrame.loc进行过滤,以按Name和列名进行过滤:

a = df.loc[df['Name'] == 'Alice', 'Grade']
print (a)
1    87.89
Name: Grade, dtype: float64

然后将第一个匹配值与next一起使用iter

val = next(iter(a), 'no match')
print (val)
87.89

...如果不匹配,应使用什么来返回默认值:

a = df.loc[df['Name'] == 'William', 'Grade']
print (a)
Series([], Name: Grade, dtype: float64)

val = next(iter(a), 'no match')
print (val)
no match