python:是不是可以使用字符串数据框映射值?
Posted
技术标签:
【中文标题】python:是不是可以使用字符串数据框映射值?【英文标题】:python: is it possible to map the values by using string dataframe?python:是否可以使用字符串数据框映射值? 【发布时间】:2019-03-21 06:29:04 【问题描述】:我正在尝试在两个数据帧之间映射数据(数据来自使用 pandas 的 csv 文件)但我遇到了索引问题
第一个df是df1
0 CAT11/06
1 CAT11/100
2 CAT23/223
3 CAT33/14
4 CAT13/14
5 DOG12/04
6 DOG24/14
7 CAT24/112
第二个df是df2
0 CAT1
3 CAT2
4 CAT3
5 DOG1
6 DOG2
我想创建一个新的数据框来收集这样的预期数据并将其定义为 df3
0 CAT1 CAT11/06 | CAT11/100 | CAT13/14
1 CAT2 CAT23/223 | CAT24/112
2 CAT3 CAT33/14
3 DOG1 DOG12/04
4 DOG2 DOG24/14
【问题讨论】:
【参考方案1】:使用in
和join
的两个for 循环
df2['col2']=['|'.join(df1[[x in y for y in df1]].tolist()) for x in df2.col1]
df2
Out[347]:
col1 col2
0 CAT1 CAT11/06|CAT11/100|CAT13/14
3 CAT2 CAT23/223|CAT24/112
4 CAT3 CAT33/14
5 DOG1 DOG12/04
6 DOG2 DOG24/14
【讨论】:
感谢您的帮助,但我发现了错误 -> AttributeError: 'list' object has no attribute 'tolist' :'( @Sungjin 你的 df1 是列表吗?以上是关于python:是不是可以使用字符串数据框映射值?的主要内容,如果未能解决你的问题,请参考以下文章
Pandas 映射到 TRUE/FALSE 作为字符串,而不是布尔值