根据 pandas 列中值的最后一个字符从 DataFrame 中选择行

Mac*_*Man 2 python python-3.x pandas

我想从 A 列中最后一个单词为“oo”的列中选择行,我该如何执行此操作。

我浏览了链接:-根据 pandas 列中的值从 DataFrame 中选择行

我尝试过的:-

import pandas as pd
import numpy as np
df = pd.DataFrame({'A': 'foo bar foo baroo foos bar foo foo'.split(),
                   'B': 'one one two three two two one three'.split(),
                   'C': np.arange(8), 'D': np.arange(8) * 2})
print(df)
#      A      B  C   D
# 0  foo    one  0   0
# 1  bar    one  1   2
# 2  foo    two  2   4
# 3  bar  three  3   6
# 4  foo    two  4   8
# 5  baroo    two  5  10
# 6  foos    one  6  12
# 7  foo  three  7  14

print(df.loc[df['A'] == 'foo'])
Run Code Online (Sandbox Code Playgroud)

这给了我带有条目的数据框

     A      B  C   D
0  foo    one  0   0
2  foo    two  2   4
4  foo    two  4   8
7  foo  three  7  14
Run Code Online (Sandbox Code Playgroud)

我应该如何尝试获得第五行以及我获得的其他行?预期输出:-

     A      B  C   D
0  foo    one  0   0
2  foo    two  2   4
4  foo    two  4   8
5  baroo    two  5  10
7  foo  three  7  14
Run Code Online (Sandbox Code Playgroud)

Joh*_*nck 5

我会这样做:

df[df.A.str.endswith('oo')]
Run Code Online (Sandbox Code Playgroud)