Python 如何获取熊猫中最后一个非零值的列名?
我有一些连续特征的数据,这些特征必须在其他特征出现之前出现。 我想得到用户访问的最后一页 安装程序Python 如何获取熊猫中最后一个非零值的列名?,python,pandas,numpy,Python,Pandas,Numpy,我有一些连续特征的数据,这些特征必须在其他特征出现之前出现。 我想得到用户访问的最后一页 安装程序 将numpy导入为np 作为pd进口熊猫 df=pd.DataFrame({'user':[10,15,17], 性别:['M','M','F'], “主页”:[1,1,1], “搜索页面”:[1,0,1], “确认页面”:[1,0,0], “付款页面”:[1,0,0]}) 打印(df) 用户性别主页搜索页面确认页面付款页面 0 10米1 115m100 2 17 F 11 0 0 问题: 如何
将numpy导入为np
作为pd进口熊猫
df=pd.DataFrame({'user':[10,15,17],
性别:['M','M','F'],
“主页”:[1,1,1],
“搜索页面”:[1,0,1],
“确认页面”:[1,0,0],
“付款页面”:[1,0,0]})
打印(df)
用户性别主页搜索页面确认页面付款页面
0 10米1
115m100
2 17 F 11 0 0
问题:
如何获取名为“final_page”且名称为final page的新列
必答
df['final_page'] = ['payment_page','home_page','search_page'] # this is not answer,
# The new column should have these values.
我的尝试
不动产链接
您可以使用列的乘积,条件是df=0,然后拆分并获取最后一列:
m=df.set_index(['user','sex'],append=True)
df['final_page']=(m.ne(0).dot(m.columns+ ',').str.rstrip(',').str.split(',')
.str[-1].droplevel(['user','sex']))
print(df)
或:
您可以使用列的乘积,条件是df=0,然后拆分并获取最后一列:
m=df.set_index(['user','sex'],append=True)
df['final_page']=(m.ne(0).dot(m.columns+ ',').str.rstrip(',').str.split(',')
.str[-1].droplevel(['user','sex']))
print(df)
或:
使用numpy:
将numpy导入为np
作为pd进口熊猫
df=pd.DataFrame({'user':[10,15,17],
性别:['M','M','F'],
“主页”:[1,1,1],
“搜索页面”:[1,0,1],
“确认页面”:[1,0,0],
“付款页面”:[1,0,0]})
pages=df.columns[2:]
df['final_page']=df.iloc[:,2::].apply(lambda x:pages[np.max(np.nonzero(x))],轴=1)
打印(df)
结果:
user sex home_page search_page confirmation_page payment_page \
0 10 M 1 1 1 1
1 15 M 1 0 0 0
2 17 F 1 1 0 0
final_page
0 payment_page
1 home_page
2 search_page
使用numpy:
将numpy导入为np
作为pd进口熊猫
df=pd.DataFrame({'user':[10,15,17],
性别:['M','M','F'],
“主页”:[1,1,1],
“搜索页面”:[1,0,1],
“确认页面”:[1,0,0],
“付款页面”:[1,0,0]})
pages=df.columns[2:]
df['final_page']=df.iloc[:,2::].apply(lambda x:pages[np.max(np.nonzero(x))],轴=1)
打印(df)
结果:
user sex home_page search_page confirmation_page payment_page \
0 10 M 1 1 1 1
1 15 M 1 0 0 0
2 17 F 1 1 0 0
final_page
0 payment_page
1 home_page
2 search_page
非常感谢。祝你新年快乐。@MilkyWay001提前祝你新年快乐:)祝你好运。新年快乐。@MilkyWay001提前新年快乐:)编码快乐
user sex home_page search_page confirmation_page payment_page \
0 10 M 1 1 1 1
1 15 M 1 0 0 0
2 17 F 1 1 0 0
final_page
0 payment_page
1 home_page
2 search_page