一、每日一题
表: Users
+----------------+---------+ | Column Name | Type | +----------------+---------+ | user_id | int | | name | varchar | +----------------+---------+ user_id 是该表的主键(具有唯一值的列)。 该表包含用户的 ID 和名字。名字仅由小写和大写字符组成。
编写解决方案,修复名字,使得只有第一个字符是大写的,其余都是小写的。
返回按 user_id
排序的结果表。
返回结果格式示例如下。
示例 1:
输入: Users table: +---------+-------+ | user_id | name | +---------+-------+ | 1 | aLice | | 2 | bOB | +---------+-------+ 输出: +---------+-------+ | user_id | name | +---------+-------+ | 1 | Alice | | 2 | Bob | +---------+-------+
解答:
import pandas as pd
def fix_names(users: pd.DataFrame) -> pd.DataFrame:
# 修复名字,使得只有第一个字符是大写的,其余都是小写的
users['name'] = users['name'].str.capitalize()
# 按 user_id 排序
result = users.sort_values(by='user_id')
return result
# 示例用法
# 示例输入数据
data = {
'user_id': [1, 2],
'name': ['aLice', 'bOB']
}
# 创建 DataFrame
users = pd.DataFrame(data)
# 调用函数
fixed_users = fix_names(users)
# 打印结果
print(fixed_users)
题源:Leetcode
总结:
这里考察str.capitalize()的使用,该方法将名字的首字母大写,其余全部小写。
具体介绍请参考另一篇博客。
2024.5.23