DataFrame第一列有不同的姓名,相同姓名有不同行的数据,怎么根据姓名添加一条年龄列
时间: 2024-04-15 13:31:14 浏览: 59
如果您的DataFrame的第一列包含了不同的姓名,而且同一个姓名可能有多行数据,您可以使用`groupby`函数和`transform`函数来根据姓名添加一条年龄列。下面是示例代码:
```python
import pandas as pd
# 假设您已经有一个名为df的DataFrame,包含姓名和其他列
# 例如:df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Alice', 'Charlie', 'Bob'], 'Data': [1, 2, 3, 4, 5]})
# 添加一个新的年龄列
df['Age'] = None
# 根据姓名分组,并使用transform函数将每个分组的年龄设置为相同的值
df['Age'] = df.groupby('Name')['Age'].transform(lambda x: x.fillna(x.mean()))
# 输出更新后的DataFrame
print(df)
```
这段代码将根据姓名分组,然后使用`transform`函数将每个分组中的年龄列填充为该组的平均值。这样,相同姓名的所有行都将具有相同的年龄值。请注意,上面的代码将新的年龄列初始化为`None`,您可以根据需要进行修改。
阅读全文