python对category列的值分列,并创建数据表,索引值为df.index,列名称为category和size
时间: 2024-02-01 20:11:15 浏览: 94
python对数组进行排序,并输出排序后对应的索引值方式
可以使用 pandas 的 `str.get_dummies` 函数将 category 列的值进行分列,然后用 `pd.concat` 函数将分列后的结果和 size 列拼接成一个新的 DataFrame,最后设置索引为 df.index:
```
import pandas as pd
# 将 category 列进行分列
category_df = df['category'].str.get_dummies()
# 将 category 和 size 列拼接成一个新的 DataFrame
new_df = pd.concat([category_df, df['size']], axis=1)
# 设置索引为 df.index
new_df.index = df.index
# 将新的 DataFrame 的列名修改为 category 和 size
new_df.columns = ['category_' + str(col) for col in category_df.columns] + ['size']
```
这样就可以创建一个新的 DataFrame,其中索引值为 df.index,列名称为 category 和 size。注意,如果 category 列的值过多,可能会导致分列后的 DataFrame 过大,需要考虑其他的处理方式。
阅读全文