我有一个如下所示的数据框。

   text      country    language
-----------------------------------
  football     US         Eng
  baseball     JP         Jpn
  swimming     UK         Eng
  running      FR         Fra
  rugby        NZ         Eng
  Hockey       NL         Dut

在python中,我想在“text”列中提取包含字符串“ball”和“ing”的行,并使用如下所示的行创建一个新的数据框。
   text      country    language
-----------------------------------
  football     US         Eng
  baseball     JP         Jpn
  swimming     UK         Eng
  running      FR         Fra

最佳答案

使用 Pandas ,您可以 slice using multiple conditions ,只需注意语法上的棘手括号。

df = pd.DataFrame({'A': ['foo', 'bar', 'fooing', 'barball'],
                   'B': [1, 2, 3, 4]})

df_slice = df[(df.A.str.contains('ing')) | (df.A.str.contains('ball'))]

那应该产生
df_slice
A        B
fooing   3
barball  4

如果您的目标是分割以 ingball 结尾的单词,请在条件中使用 endswith() 而不是 contains() 。希望能帮助到你!

关于python - 如何在特定条件下从现有数据帧创建新数据帧 - python,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47393746/

10-15 23:13
查看更多