python如何将DataFrame数据的某一列数据中含有特定字母的数据删去?比如有一列数据是不同股票的名称,我想去除股票名称中含有ST的数据,应该怎么做,请给出python代码
时间: 2024-03-17 14:46:27 浏览: 20
可以使用 pandas 库中的 str.contains 方法来判断 DataFrame 的某一列中是否包含特定字母,然后使用 loc 方法进行筛选并删除。以下是示例代码:
```python
import pandas as pd
# 创建示例 DataFrame
df = pd.DataFrame({'Stock': ['AAPL', 'STOCK', 'STOCK1', 'GOOG', 'TSLA']})
# 筛选出不包含 'ST' 的股票名称
df = df.loc[~df['Stock'].str.contains('ST')]
# 输出结果
print(df)
```
在上述代码中,使用 ~ 运算符取反,即筛选出不包含 'ST' 的股票名称。最后,将满足条件的 DataFrame 赋值给原 DataFrame,即可删除包含 'ST' 的数据。
相关问题
python将dataframe某一列数据写入一个列表
可以使用 pandas 库的 `tolist()` 方法将 dataframe 的某一列数据转换为列表。例如,假设 dataframe 的列名为 `column_name`,代码如下:
```python
import pandas as pd
# 读取数据
df = pd.read_csv('data.csv')
# 取出某一列数据并转为列表
data_list = df['column_name'].tolist()
print(data_list)
```
其中,`data.csv` 是数据保存的文件,`'column_name'` 是需要转换为列表的列名。运行代码后,`data_list` 就是 `column_name` 列的所有数据组成的列表。
python dataframe筛选除去某一特定名称列之外的其他列的数据
可以使用 `drop()` 方法来删除指定的列。例如,假设你有一个名为 `df` 的 `DataFrame`,其中包含了 `name`、`age` 和 `gender` 三列数据,你可以使用以下代码来删除 `name` 列并返回其他列:
```python
new_df = df.drop('name', axis=1)
```
其中,`axis=1` 表示按列进行操作。如果你要直接在原来的 `DataFrame` 上进行修改,请将 `inplace=True` 传递给 `drop()` 方法。例如:
```python
df.drop('name', axis=1, inplace=True)
```