我有以下数据框:
field value
0 longitude 100
1 altitude 200
2 location China
3 date 20180303
......
我想将此数据帧转换为以下格式:
field string_value int_value datetime_value boolean_value float_value field_type
0 longitude NA NA NA NA 100 float
1 altitude NA NA NA NA 200 float
2 location China NA NA NA NA str
3 date NA NA 20180303 NA NA datetime
......
我该如何有效地做到这一点?我认为我可以使用apply
来做到这一点,但这似乎很慢,因为它逐行通过数据帧。有更快的方法吗?
答案 0 :(得分:3)
想法是获取Argument out of range exception
个值,转换为字符串,然后将type
转换为可读性更好的格式,然后对新列使用DataFrame.set_index
和Series.unstack
和{{3} }设为原始:
map
答案 1 :(得分:-1)
我认为处理此问题的最有效方法是创建一个新列,将每个元素的类型存储在['value']中,然后将pandas.pivot_table()与index = ['field']一起使用,values = [ 'value'],columns是用于存储dtypes的列。