我有一个给定的数据如下所示
我想将此给定数据更改为以下数据框
我正在使用Python库中的panda来完成我的工作。我是熊猫和python的新手任何人都可以帮助我如何使用像table = pd.pivot_table(table, ......)
或任何其他python库这样的熊猫函数来解决这个问题。
编辑:
样本数据
df=pd.DataFrame({'Acc':[1,2,4,2,1,3],'Event':list('ABCACA'),'exit':[0,1,1,1,0,0]})
编辑:
我很抱歉@jpp这是我的问题的一个例子:
让我们说这是像这样的输入
`DataFrame({'Acc':[1,2,4,2,1,1,3],'Event':list('ABCACBA'),'exit':[1,1,1,1,0,0,0]})`
我期待这种输出
# Acc A B C exit
# 1 1 1 1 1
# 2 1 1 0 1
# 4 0 0 1 1
# 3 1 0 0 0
答案 0 :(得分:0)
IIUC
df=pd.DataFrame({'Acc':[1,2,4,2,1,3],'Event':list('ABCACA'),'exit':[0,1,1,1,0,0]})
数据输入
#ifndef INC_A
#define INC_A
class ClassB;
class ClassA
{
private:
ClassB* b;
public:
void Foo();
}
#endif
答案 1 :(得分:0)
这是一个解决方案:
import pandas as pd
df = pd.DataFrame({'Acc':[1,2,4,2,1,3],'Event':list('ABCACA'),'exit':[0,1,1,1,0,0]})
df2 = df.groupby(['Acc', 'exit'])['Event'].apply(list).reset_index()
df2 = df2.join(pd.get_dummies(df2['Event'].apply(pd.Series).stack()).sum(level=0))\
.drop('Event', 1)
# Acc exit A B C
# 0 1 0 1 0 1
# 1 2 1 1 1 0
# 2 3 0 1 0 0
# 3 4 1 0 0 1