前提
2つのファイルを参照・一致させて,片方のファイルに新たな列と数値を追加したい.
実現したいこと
1つ目のファイル(wals_languages_joshi.csv)のName列と2つ目のファイル(Joshi2020_list.csv)のname列の名称が一致した場合,2つ目のファイルのscore列を1つ目に追加したいです. (下記参照)
しかし,1つ目のファイルにname列とscore列が追加されたものの,エラーが出たのでお知恵をお借りしたいです.よろしくお願いします.
エラーメッセージ
Traceback (most recent call last): File "/Users/carlobroschi_imac/Workspace/wals_and_joshi.py", line 8, in <module> after_pd = after_pd.capitalize() File "/opt/homebrew/lib/python3.9/site-packages/pandas/core/generic.py", line 5575, in __getattr__ return object.__getattribute__(self, name) AttributeError: 'DataFrame' object has no attribute 'capitalize' carlobroschi_imac@CarlonoiMac Workspace % python3 wals_and_joshi.py Traceback (most recent call last): File "/Users/carlobroschi_imac/Workspace/wals_and_joshi.py", line 8, in <module> after_pd = after_pd.str.capitalize() File "/opt/homebrew/lib/python3.9/site-packages/pandas/core/generic.py", line 5575, in __getattr__ return object.__getattribute__(self, name) AttributeError: 'DataFrame' object has no attribute 'str'
該当のソースコード
python
1#!/usr/bin/env python3.8 2# -*- coding: utf-8 -*- 3import pandas as pd 4 5before_pd = pd.read_csv('wals_languages_joshi.csv') 6after_pd = pd.read_csv('Joshi2020_list.csv') 7after_pd = after_pd.str.capitalize() 8f=pd.merge(before_pd, after_pd, left_on='Name', right_on='name', how='outer') 9 10f.to_csv('result.csv',index=False, encoding='utf-8')
理想の出力
result.csv
1Name,Family,Subfamily,Genus,Macroarea,ISO639P3code,score 2Arapesh (Abu),Torricelli,,Kombio-Arapesh,, 3Aari,Afro-Asiatic,Omotic,South Omotic,Africa,aiw,0 4Abau,Sepik,,Upper Sepik,Papunesia,aau,0 5Arabic (Chadian),Afro-Asiatic,,Semitic,Africa,shu 6Abidji,Niger-Congo,,Kwa,Africa,abi
現在の出力
result.csv
1Name,Family,Subfamily,Genus,Macroarea,ISO639P3code,name,score 2Arapesh (Abu),Torricelli,,Kombio-Arapesh,,,, 3Aari,Afro-Asiatic,Omotic,South Omotic,Africa,aiw,, 4Abau,Sepik,,Upper Sepik,Papunesia,aau,, 5Arabic (Chadian),Afro-Asiatic,,Semitic,Africa,shu,, 6Abidji,Niger-Congo,,Kwa,Africa,abi,,
使用ファイル
wals_languages_joshi.csv
1Name,Family,Subfamily,Genus,Macroarea,ISO639P3code 2Arapesh (Abu),Torricelli,,Kombio-Arapesh,, 3Aari,Afro-Asiatic,Omotic,South Omotic,Africa,aiw 4Abau,Sepik,,Upper Sepik,Papunesia,aau 5Arabic (Chadian),Afro-Asiatic,,Semitic,Africa,shu 6Abidji,Niger-Congo,,Kwa,Africa,abi
Joshi2020_list.csv
1name,score 2a-pucikwar,0 3aari,0 4abau,0 5abaza,0 6abenaki,0
補足情報(FW/ツールのバージョンなど)
iMac,Python3.9.12,VSCode