我有一个示例 Dataframe :
| ID | SampleColumn1| SampleColumn2 | SampleColumn3 |
|:-- |:------------:| ------------ :| ------------ |
| 1 |sample Apple | sample Cherry |sample Lime |
| 2 |sample Cherry | sample lemon | sample Grape |
我想创建一个基于初始 Dataframe 的新 Dataframe 。如果列表中的某个值[Apple,Lime,Cherry]出现在某行的任何列中,则在新 Dataframe 中该列的值将显示为1。在这种情况下,输出应为:
| ID | Apple | Lime | Cherry |
| 1 | 1 | 1 | 1 |
| 2 | 0 | 0 | 1 |
目前我已经尝试过对字符串使用find函数,将一个序列转换为每行的字符串,然后如果返回的值等于新 Dataframe 的列名,则使用if条件。在这方面,我遇到了一个逻辑错误。
2条答案
按热度按时间ulmd4ohb1#
试试这个:
pbossiut2#
可以创建一个函数来替换包含所需子字符串的字符串,然后使用pd.get_dummies()