我想用pandas dataframe筛选包含特定词语的列表
时间: 2023-12-02 18:02:13 浏览: 25
可以使用str.contains()方法来筛选包含特定词语的列表。以下是示例代码:
假设你有一个数据框df,其中有一列名为“text”,你想筛选包含“apple”和“banana”的行:
```
import pandas as pd
df = pd.DataFrame({'text': ['I like apples', 'She hates bananas', 'He loves oranges', 'They eat pears and bananas']})
# 使用str.contains()方法筛选包含“apple”和“banana”的行
filtered_df = df[df['text'].str.contains('apple|banana')]
print(filtered_df)
```
输出:
```
text
0 I like apples
1 She hates bananas
3 They eat pears and bananas
```
在这个例子中,我们使用了正则表达式“apple|banana”来匹配包含“apple”或“banana”的行。我们将这个正则表达式作为参数传递给str.contains()方法,然后将其应用于df['text']列。最后,我们将结果分配给filtered_df变量,并打印出来。
相关问题
pandas dataframe 筛选列
要筛选pandas DataFrame的列,可以使用以下方法:
1. 使用列标签进行筛选:
```python
df_filtered = df[['column1', 'column2']]
```
这将返回一个新的DataFrame,其中只包含指定的列。
2. 使用列索引进行筛选:
```python
df_filtered = df.iloc[:, [0, 1]]
```
这将返回一个新的DataFrame,其中只包含指定的列索引。
3. 使用布尔条件进行筛选:
```python
df_filtered = df[df['column1'] > 10]
```
这将返回一个新的DataFrame,其中只包含满足指定条件的行。
4. 使用列名的字符串方法进行筛选:
```python
df_filtered = df.filter(like='column')
```
这将返回一个新的DataFrame,其中只包含列名中包含指定字符串的列。
5. 使用正则表达式进行筛选:
```python
df_filtered = df.filter(regex='^column')
```
这将返回一个新的DataFrame,其中只包含列名以指定字符串开头的列。
pandas dataframe多条件筛选
您好,关于 pandas dataframe 的多条件筛选,可以使用 loc 函数进行筛选。例如,假设有一个名为 df 的 dataframe,需要筛选出列 A 大于 10,列 B 等于 'foo',列 C 不等于 'bar' 的行,可以使用以下代码:
df.loc[(df['A'] > 10) & (df['B'] == 'foo') & (df['C'] != 'bar')]
希望能对您有所帮助。