python - 如何根据另一列值更改列值?
问题描述
我正在尝试将 csv 文件中具有状态代码 ( state_cd
) 的列值更改为状态名称 ( state_name
)。这是我的两个 csv 文件和我的代码。
状态.csv
"state_name","state_cd"
"Alabama","AL"
"Alaska","AK"
"Arizona","AZ"
"Arkansas","AR"
"California","CA"
"Colorado","CO"
"Connecticut","CT"
"Delaware","DE"
"District of Columbia","DC"
"Florida","FL"
"Georgia","GA"
"Hawaii","HI"
"Idaho","ID"
"Illinois","IL"
"Indiana","IN"
"Iowa","IA"
"Kansas","KS"
"Kentucky","KY"
"Louisiana","LA"
"Maine","ME"
"Maryland","MD"
"Massachusetts","MA"
"Michigan","MI"
"Minnesota","MN"
"Mississippi","MS"
"Missouri","MO"
"Montana","MT"
"Nebraska","NE"
"Nevada","NV"
"New Hampshire","NH"
"New Jersey","NJ"
"New Mexico","NM"
"New York","NY"
"North Carolina","NC"
"North Dakota","ND"
"Ohio","OH"
"Oklahoma","OK"
"Oregon","OR"
"Pennsylvania","PA"
"Rhode Island","RI"
"South Carolina","SC"
"South Dakota","SD"
"Tennessee","TN"
"Texas","TX"
"Utah","UT"
"Vermont","VT"
"Virginia","VA"
"Washington","WA"
"West Virginia","WV"
学校.csv
"parent_category_nm","category_nm","place_name","address","city","state_cd"
"Schools","Elementary Schools","123 YOU N ME PRESCHOOL","809 W DETWEILLER DR STE A","PEORIA","IL"............................
代码.py
import pandas as pd
df1 = pd.read_csv("school.csv")
df2 = pd.read_csv("state.csv")
df3 = df1.merge(df2, left_on="state_cd", right_on="state_name", how="left")
我没有收到任何错误,但代码也没有做任何事情。预期的输出将是这样的,状态代码更改为状态名称。
"parent_category_nm","category_nm","place_name","address","city","state_cd"
"Schools","Elementary Schools","123 YOU N ME PRESCHOOL","809 W DETWEILLER DR STE A","PEORIA","Illinois"............................
有人能帮忙吗?
解决方案
你想做的是:
df3 = df1.merge(df2, on="state_cd", how="left")
这会将state_name
列添加到您的学校数据框中。
如果要保留state_cd
为具有完整名称的列:
df1['state_cd'] = df1.state_cd.map(df2.set_index('state_cd').state_name)
推荐阅读
- javascript - .prop 不更新复选框的视觉样式
- elasticsearch - elasticsearch 6.4 不计算字段中的 search_analyzer
- arrays - 使用 swift 中的前进、后退按钮从 url 加载数组中的图像展示
- javascript - 如何将 JSON 数组转换为 javascript 对象数组?
- python - 安装模块时出现 Odoo 错误 - XMLSyntaxError: None
- nginx - 使用 Nginx 的 React Web App 无法正确重定向
- javascript - Power BI Javascript 集成。获取访问令牌
- mysql - SQL根据时间戳差异查询数据
- python - LDA 模型的灵敏度和稳定性
- regex - 突出显示搜索结果摘录导致 PHP 错误