熊猫列转换

时间:2019-09-09 11:32:27

标签: python pandas

我要转换具有这种格式的列的数据

a = {'Monday': '9:0-0:0', 'Tuesday': '9:0-0:0'}
b = {'Monday': '17:30-21:30', 'Wednesday': '17:30'}
df = pd.DataFrame({'hours':[np.nan, a, b],
                   'id':['sdfdad','ddfsfs','sedfws']})
print (df)
                                             hours      id
0                                              NaN  sdfdad
1      {'Monday': '9:0-0:0', 'Tuesday': '9:0-0:0'}  ddfsfs
2  {'Monday': '17:30-21:30', 'Wednesday': '17:30'}  sedfws

我想要键:星期一,星期二……作为列名,像这样的单元格值是0-9。

Monday   Tuesday       Wednesday
9:0-0:0  17:30-21:30   17:30-21:30

yelp_business=pd.read_csv('yelp-dataset/cs_data/business.csv')

现在这种情况, enter image description here

这是所希望的。 enter image description here

1 个答案:

答案 0 :(得分:2)

首先将缺失的值替换为列表理解中的空dict,然后传递给DataFrame构造函数,最后DataFrame.join id列,也用于测试错误值np.nan == np.nan是{ {1}}:

False