【发布时间】:2021-07-20 01:10:12
【问题描述】:
我有一个包含字符串的 DataFrame。我想创建另一个 DataFrame,通过 one-hot 编码指示字符串是否包含特定月份。
以下面为例:
data = {
'User': ['1', '2', '3', '4']
'Months': ['January; February', 'March; August', 'October; January', 'August, December']}
df = pd.DataFrame(data, columns = ['User','Months'])
我希望生成以下类型的 DataFrame:
| January | August |
User | 1 | 1 | 0 |
| 2 | 0 | 1 |
| 3 | 1 | 0 |
| 4 | 0 | 1 |
我尝试了以下方法,但我得到一个值错误,它也不会产生所需的 DataFrame:
if df[df['Months'].str.contains('January')]:
print("1")
else:
print("0")
提前致谢!
【问题讨论】:
-
是
'August, December'是错字,应该用分号隔开,或者你有一个列,其中分隔符可以是', '和'; '的组合
标签: python pandas dataframe substring one-hot-encoding