python - 使用 Pandas 从列中删除第一个单词,有时是第二个单词
问题描述
我需要从列中删除第一个单词,有时是第一个和第二个单词,以便我可以合并两个数据框。例如,在一个数据框中,“球队”列的格式为 Celtics, Nuggets, Lakers。在我的第二个数据框中,“球队”列的格式为波士顿凯尔特人队、丹佛掘金队、洛杉矶湖人队。我遇到了麻烦,因为像湖人队和鹈鹕队这样的球队在实际球队名称“湖人队”之前有两个词(洛杉矶湖人队,新奥尔良鹈鹕队)。我正在使用 Python 和 Pandas。这是我需要操作的数据框中“团队”列的列表格式示例
我尝试了@Nk03 解决方案并在屏幕截图中收到了输出。我对 Python 还很陌生,所以我仍然对为什么该解决方案不起作用感到困惑。
解决方案
尝试这个。-
在这里,想法是提取团队名称的一部分,如果该部分存在于第一个数据帧中 -
def extract_team(x):
for item in x.split():
if item in df1.Teams.values:
return item
return x
df2.Teams = df2.Teams.apply(lambda x : extract_team(x))
推荐阅读
- perl - 乐,找不到图书馆
- python - 将带有 Django 模型的文件保存到 JSONField
- c# - 弹出/单击停止音频播放 NAudio
- sed - 在 sed 中用字符串替换换行符
- javascript - 当我在另一个工作表上处于活动状态时隐藏一个工作表
- apache - 非 www 到 www apache2 Letscrypt certbot
- python - 如何将 json 与 flask_login.login_user 一起使用
- python - UnboundLocalError,我不明白如何解决
- wordpress - 如何从用户选择在小部件中显示的任何菜单中删除容器 div?
- python - 使用 params=True 的 Altair 回归变换:当有多个组时如何访问 r² 和 coeffs