我的调查结果有以下格式:
render
我想将我的数据帧转换为以下内容:
def destroy
@proofread_document.destroy
respond_to do |format|
format.js {render layout: false}
end
end
实现这一目标的最有效方法是什么? 通过...分组?枢?
用'True'替换'Yes'的每个实例并使用布尔测试是否有任何好处?
提前致谢。接下来是DataFrame代码,以便于回答。
Lab Shepherd Poodle Frisky Sleepy Hungry
0 NaN NaN Yes Yes NaN NaN
1 Yes NaN NaN NaN NaN Yes
2 NaN Yes NaN NaN Yes NaN
答案 0 :(得分:2)
您可以按stack
重新塑造,并DataFrame
使用groupby
和list
构造函数创建新的DataFrame
:
a = df.stack().reset_index().groupby('level_0')['level_1'].apply(list)
df = pd.DataFrame(a.values.tolist())
另一种解决方案是转换为bool
- 空格为False
s,对于每一行创建列表,最后也使用DataFrame
构造函数:
a = df.astype(bool).apply(lambda x: x.index[x].values.tolist(), axis=1)
df = pd.DataFrame(a.values.tolist())
df = df.astype(bool).apply(lambda x: pd.Series(x.index[x].values), axis=1)
print (df)
0 1
0 Poodle Frisky
1 Lab Hungry
2 Shepherd Sleepy
答案 1 :(得分:1)
还有另一个
{'a':[1,2,3]}