pandas 删除list 中的名称为‘’张三,‘’李四的文本
时间: 2024-02-06 15:12:11 浏览: 211
假设原始列表中的元素是字符串类型,可以使用 Pandas 的 `pandas.Series.str` 属性来实现删除操作。下面是一个 Python 代码示例:
```python
import pandas as pd
# 原始列表
lst = ['张三', '李四', '王五', '赵六', '', '']
# 转化为 Pandas Series 对象
s = pd.Series(lst)
# 删除值为 '张三' 和 '李四' 的元素
s = s[~s.str.contains('张三|李四')]
# 输出结果
print(s.tolist()) # ['王五', '赵六', '', '']
```
在上面的代码中,首先将原始列表转换为 Pandas Series 对象。然后使用 `str.contains()` 方法找到其中包含 '张三' 或 '李四' 的元素,使用波浪线(`~`)将其取反,得到不包含 '张三' 和 '李四' 的元素。最后将处理后的 Series 对象转化为列表并输出。
相关问题
pandas 一个list里面有张三,李四,王五,赵六,怎么删除张三和赵六
可以使用 Pandas 中的 `drop()` 方法来删除列表中的指定元素。下面是一个 Python 代码示例:
```python
import pandas as pd
# 原始列表
lst = ['张三', '李四', '王五', '赵六']
# 转化为 Pandas Series 对象
s = pd.Series(lst)
# 删除指定元素
s = s.drop([0, 3])
# 输出结果
print(s.tolist()) # ['李四', '王五']
```
在上面的代码中,首先将原始列表转化为 Pandas Series 对象。然后使用 `drop()` 方法,传入要删除的元素的下标,即可删除指定元素。最后将处理后的 Series 对象转化为列表并输出。注意,Pandas 中的下标是从 0 开始计数的。
张三 李四 语文 100 89 数学 120 100 英语 110 102 理综 220 200请分别用数组和字典的方式创建出DataFrame,命名为df1和df2:
张三和李四的成绩可以用两个数据结构来表示,分别是数组和字典。这里我会为你演示如何将成绩转换为DataFrame格式。
首先,我们用数组的方式创建:
```python
import pandas as pd
# 定义数组
scores_array = [
["张三", "语文", 100, 120, 110, 220],
["李四", "语文", 89, 100, 102, 200]
]
# 创建DataFrame df1
df1 = pd.DataFrame(scores_array, columns=["姓名", "科目", "语文", "数学", "英语", "理综"])
```
接下来,我们用字典列表的方式创建:
```python
scores_dict_list = [
{"姓名": "张三", "科目": ["语文", "数学", "英语", "理综"], "分数": [100, 120, 110, 220]},
{"姓名": "李四", "科目": ["语文", "数学", "英语", "理综"], "分数": [89, 100, 102, 200]}
]
# 将字典列表转换为DataFrame
df2 = pd.DataFrame(scores_dict_list)
df2.set_index("姓名", inplace=True) # 设置姓名作为索引
```
现在,`df1`和`df2`都是包含张三和李四成绩的DataFrame。
阅读全文