Python按条件筛选并给新字段赋值代码
时间: 2023-11-21 22:09:27 浏览: 87
假设你有一个名为`data`的DataFrame对象,你可以使用以下代码对其进行条件筛选并给新字段赋值:
```python
import pandas as pd
# 创建一个示例数据集
data = {'name': ['Tom', 'Jerry', 'Mike', 'John', 'Lily'],
'age': [25, 30, 20, 35, 27],
'gender': ['Male', 'Male', 'Male', 'Male', 'Female']}
df = pd.DataFrame(data)
# 条件筛选
df['new_field'] = ''
df.loc[df['age'] > 25, 'new_field'] = 'Old'
df.loc[df['gender'] == 'Female', 'new_field'] = 'Female'
# 输出结果
print(df)
```
在这个例子中,我们首先创建了一个包含姓名、年龄和性别的示例数据集,并将其转换为DataFrame对象。然后,我们创建了一个名为`new_field`的新字段,并将其初始值设置为空字符串。
接下来,我们使用`loc`方法对数据集进行条件筛选。第一个条件是年龄是否大于25岁,如果是则将`new_field`的值设置为`Old`;第二个条件是性别是否为女性,如果是则将`new_field`的值设置为`Female`。
最后,我们输出了更新后的DataFrame对象。
相关问题
Python按列筛选数据并给新字段赋值
假设你有以下数据:
```
id,name,age
1,Alice,25
2,Bob,30
3,Charlie,35
```
你想按照年龄大于等于30的人来筛选数据,并给新字段"is_old"赋值为True,否则为False。可以按照以下步骤操作:
1. 读取数据并转换为pandas DataFrame格式。
```python
import pandas as pd
data = pd.read_csv("data.csv")
df = pd.DataFrame(data)
```
2. 筛选数据并给新字段赋值。
```python
df["is_old"] = df["age"] >= 30
```
这将会在原始数据的基础上新增一个名为"is_old"的字段,并根据年龄是否大于等于30来赋值为True或False。
3. 输出结果。
```python
print(df)
```
输出结果为:
```
id name age is_old
0 1 Alice 25 False
1 2 Bob 30 True
2 3 Charlie 35 True
```
这样,你就成功按列筛选数据并给新字段赋值了。
arcgis多条件字段筛选并赋值代码
以下是使用ArcPy模块进行多条件字段筛选并赋值的代码示例:
```python
import arcpy
# 设置工作空间
arcpy.env.workspace = r"C:\data.gdb"
# 设置要素类名称
fc_name = "my_features"
# 设置筛选条件
query = "FIELD1 = 'value1' AND FIELD2 > 100"
# 创建游标对象
cursor = arcpy.UpdateCursor(fc_name, query)
# 遍历要素并赋值
for row in cursor:
# 设置要赋值的字段
row.setValue("FIELD3", "new_value")
# 更新游标对象
cursor.updateRow(row)
# 删除游标对象
del cursor
```
以上代码中,首先通过设置工作空间和要素类名称,确定要操作的要素类,然后设置筛选条件,这里是按照FIELD1等于value1,且FIELD2大于100的条件进行筛选。接着,创建一个UpdateCursor游标对象,并按照筛选条件遍历要素,对符合条件的要素设置FIELD3字段的值为new_value,最后更新游标对象并删除游标对象。
阅读全文