DataFrame包含两列特征,转换成Index不变,将其中一列value作为columns,对应的另一列作为values

来源:互联网 发布:刷机精灵 微信数据恢复 编辑:程序博客网 时间:2024/05/22 10:47

DataFrame包含两列特征,转换成Index不变,将其中一列value作为columns,对应的另一列作为values


我们的原始数据是:

这里写图片描述

很明显这是一个有两列数据的DataFrame。而这时我其实想得到一新的DataFrame,把’wifi_name’作为columns,index保持不变,而对应的‘strength’作为values,如果原始DataFrame的一个index对应的某些wifi_name不存在,则新的DataFrame会自动给这个位置设为Nan。

下面这个其实就是我们想要的新的DataFrame结构,可以看到原始DataFrame里面每个index不变,对应的wifi_name作为了新的column。如果对应记录在原始DataFrame里面没有,则会设为Nan

这里写图片描述

具体处理过程如下:

final_wifi = final_wifi.set_index('wifi_name',append=True) # 先将wifi_name变成索引# 这里把前面的两个index的DataFrame变成Seriesfinal_wifi = pd.Series(final_wifi.values.reshape(len(final_wifi)),index=final_wifi.index) # 然后把所有不同的wifi_name变成column,由于有些是nan,所以可能会多出一列column=np.nanfinal_wifi = final_wifi.unstack() if np.nan in final_wifi_mall.columns:        final_wifi = final_wifi.drop(np.nan, axis=1) # 去掉空列

这样就可以完成我们想要的转换。

阅读全文
0 0