python - 遍历熊猫数据框并替换整体
问题描述
我需要遍历'Grade'
此数据框的列并将条目替换为"1"
, "2"
, or "K"
with "1/2"
and "3"
or "4"
with"3/4"
for i in kids_df:
if kids_df['G'] == 1 or 2:
kids_df['G'] = kids_df['Grade'].replace('1/2')
这是DF:
Name M/F Grade Size Notes
0 Peter Parker M 2 YM Baughman
1 Tony Stark M 1 YL Baughman
2 Steve Rogers M K YM Baughman
3 Donald Blake M 2 YM Baughman
4 Bruce Banner M 3 YM Baughman
我正在寻找的结果:
Name M/F Grade Size Notes
0 Peter Parker M 1/2 YM Baughman
1 Tony Stark M 1/2 YL Baughman
2 Steve Rogers M 1/2 YM Baughman
3 Donald Blake M 1/2 YM Baughman
4 Bruce Banner M 3/4 YM Baughman
解决方案
尝试使用np.where
:
df['Grade'] = np.where(df['Grade'].isin(['1', '2', 'K']), '1/2', '3/4')
print(df)
或使用 double str.replace
:
df['Grade'] = df['Grade'].str.replace('1|2|K', '1/2').str.replace('3|4', '3/4')
print(df)
或将 areplace
与字典一起使用:
df['Grade'] = df['Grade'].replace({'1|2|K': '1/2', '3|4': '3/4'}, regex=True)
print(df)
他们都输出:
Name M/F Grade Size Notes
0 Peter Parker M 1/2 YM Baughman
1 Tony Stark M 1/2 YL Baughman
2 Steve Rogers M 1/2 YM Baughman
3 Donald Blake M 1/2 YM Baughman
4 Bruce Banner M 3/4 YM Baughman
推荐阅读
- rust - 带有 OpenTelemetry 的 Rust 仪器库
- elasticsearch - 如何在弹性搜索中的特定领域进行聚合
- python - 在线预订机器人 SQL 逻辑
- python - 我不能在 pyautogui 中写阿拉伯字母
- java - 在 MongoDB Java 中添加到地图
- selenium - TestNG Assert 失败时如何截屏?
- python - 从 Odoo 14 中的数据库中检索数据
- amazon-web-services - 属于 IAM 组的 AWS IAM 用户不能代入允许 IAM 组代入的 IAM 角色?
- quickbooks-online - 如何使用 qbxml 为退回的物品发出 quickbooks 现金退款
- c# - Assets\camswitch.cs(7,22): error CS1519: Invalid token ';' 在类、结构或接口成员声明中