pandas怎么处理月薪,日薪,周薪的数据
时间: 2023-10-26 20:14:35 浏览: 190
在 pandas 中,可以使用 `apply()` 方法结合自定义函数来处理月薪、日薪、周薪等不同频率的薪资数据。以下是一个示例代码:
``` python
import pandas as pd
# 定义一个自定义函数,将月薪转换为年薪
def monthly_to_yearly(salary):
return salary * 12
# 定义一个自定义函数,将日薪转换为年薪
def daily_to_yearly(salary):
return salary * 240
# 定义一个自定义函数,将周薪转换为年薪
def weekly_to_yearly(salary):
return salary * 48
# 创建一个示例数据框
data = {'name': ['A', 'B', 'C'], 'salary': [10000, 500, 2000], 'frequency': ['monthly', 'daily', 'weekly']}
df = pd.DataFrame(data)
# 根据薪资频率应用不同的函数,将薪资数据转换为年薪数据
df['salary'] = df.apply(lambda row: monthly_to_yearly(row['salary']) if row['frequency']=='monthly' else (daily_to_yearly(row['salary']) if row['frequency']=='daily' else weekly_to_yearly(row['salary'])), axis=1)
print(df)
```
该代码将数据框 `df` 中的薪资数据根据频率进行了转换,结果如下:
```
name salary frequency
0 A 120000 monthly
1 B 120000 daily
2 C 96000 weekly
```
在自定义函数中,需要注意输入参数是单个薪资值,而不是整个数据框或者数据框的一列。同时,需要根据薪资频率返回对应的年薪数据。应用自定义函数时,需要设置 `axis=1` 参数,表示对每一行应用函数。
阅读全文