如何在python pandas的dataframe对象筛选出包含特定字符串的列
时间: 2023-05-21 18:03:17 浏览: 241
您可以使用 pandas 的 str.contains() 方法来筛选包含特定字符串的列。例如,假设您的 dataframe 对象名为 df,要筛选包含字符串 "apple" 的列,可以使用以下代码:
```
df[df.columns[df.apply(lambda col: col.str.contains('apple')).any()]]
```
这将返回包含字符串 "apple" 的列。
相关问题
pandas.DataFrame中删除包涵特定字符串所在的行
要删除 Pandas DataFrame 中包含特定字符串的行,可以使用 Pandas 的布尔索引和 `str.contains()` 方法。以下是示例代码:
```python
import pandas as pd
# 创建示例 DataFrame
df = pd.DataFrame({'A': ['foo', 'bar', 'baz'], 'B': ['apple', 'orange', 'banana']})
# 找到包含特定字符串的行
rows_to_drop = df[df['B'].str.contains('an')].index
# 使用 drop() 方法删除指定的行
df = df.drop(rows_to_drop)
# 输出结果
print(df)
```
这将删除 DataFrame 中包含 'an' 字符串的行,即删除第二和第三行的数据。如果要匹配多个特定字符串,可以使用正则表达式。例如,要匹配包含 'an' 或 'le' 的行,可以使用以下代码:
```python
rows_to_drop = df[df['B'].str.contains('an|le')].index
```
python 将pandas dataframe 转化为字符串字典
你可以使用pandas的to_dict()方法将dataframe转换为字典格式,再使用json.dumps()方法将其转换为字符串字典。示例代码如下:
```python
import pandas as pd
import json
# 创建一个示例dataframe
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
# 将dataframe转换为字典格式
dict_data = df.to_dict(orient='records')
# 将字典转换为字符串字典
str_dict = json.dumps({str(i): d for i, d in enumerate(dict_data)})
print(str_dict)
```
输出结果为:
```
{"0": {"A": 1, "B": "a"}, "1": {"A": 2, "B": "b"}, "2": {"A": 3, "B": "c"}}
```