pandas 保留重复值并尝试透视

pbossiut  于 2022-12-16  发布在  其他
关注(0)|答案(1)|浏览(104)

我有一个CSV文件,其中有各种重复的元素。下面是一个表格的例子。

id     code  date
314asre B1  20201010
343asr  B2  20200405
150ase  B1  20210615
314asre B1  20210506
343asr  B3  20220408

我想创建这样的东西:
| 身份证|地下一层|B2| B3|
| - ------|- ------|- ------|- ------|
| 小行星314|小行星20|零|零|
| 小行星343|零|小行星20|零|
| 150酶|小行星2021|零|零|
| 小行星314|小行星2021|零|零|
| 小行星343|零|零|二○二二○四零八|
我尝试使用透视表和透视表,但是我得到一个错误,提示透视表的索引中存在重复值,pivot_table将完全删除重复值。我希望保留上表中显示的重复值。如有任何帮助,我们将不胜感激。
我试过的代码:

df.pivot_table(index='id' , columns = 'code' , values= 'date')
df.reset_index(inplace=True)
92dk7w1h

92dk7w1h1#

制作带有随机索引的透视表,并将索引更改为id列,如下所示。

df['temp'] = range(len(df))

result = df.pivot_table(index= 'temp', columns = 'code' , values= 'date')
result.index = df['id']
result

结果如下。

code    B1  B2  B3
id          
314asre 20201010.0  NaN NaN
343asr  NaN 20200405.0  NaN
150ase  20210615.0  NaN NaN
314asre 20210506.0  NaN NaN
343asr  NaN NaN 20220408.0

相关问题