假设我在python里有个dataframe,我想通过其中的两个列的数值给每个样本打标签,该怎么实现
时间: 2024-02-03 15:11:18 浏览: 10
可以使用 Pandas 库来实现这个需求。假设你的 DataFrame 名称为 `df`,包含了两个数值列 `col1` 和 `col2`,你可以按照以下步骤来实现:
1. 定义一个函数,根据 `col1` 和 `col2` 的数值计算标签值,比如:
```python
def calculate_label(row):
if row['col1'] > 0 and row['col2'] > 0:
return 'positive'
elif row['col1'] < 0 and row['col2'] < 0:
return 'negative'
else:
return 'neutral'
```
2. 使用 `apply` 方法,将该函数应用到每一行上,生成新的一列 `label`:
```python
df['label'] = df.apply(calculate_label, axis=1)
```
其中,`axis=1` 表示按行应用函数。
3. 最终得到的 DataFrame 包含了原有的 `col1` 和 `col2` 列,以及新生成的 `label` 列,每一行的 `label` 根据 `col1` 和 `col2` 的数值计算得出。
```python
col1 col2 label
0 1 2 positive
1 -3 -4 negative
2 0 1 neutral
3 -2 2 neutral
```