我得到列名列表如下:
featuresA = [str(col) + '_x' for col in group.index]
其中group是Series。我收到了10个列名称列表,例如' Col1_x',' Col2_x'等。
现在我想将Series值读入DataFrame对象:
mergedrow = pd.DataFrame()
mergedrow[featuresA] = group[featuresA]
错误消息显示:
raise KeyError('%s not in index' % objarr[mask])
当我使用group.to_frame()直接将group
转换为DataFrame时,结果为0.
完整的代码如下:
featuresA = [str(col) + '_x' for col in group.index]
featuresB = [str(col) + '_y' for col in match.iloc[[idx]].columns]
mergedrow = pd.DataFrame()
mergedrow[featuresA] = group[featuresA]
mergedrow[featuresB] = match.iloc[[idx]]
更新: 这是完整的错误消息:
raise KeyError('%s not in index' % objarr[mask])
KeyError: "['airportResources.baggage_x' 'airportResources.arrivalTerminal_x'\n 'arrivalAirportFsCode_x' 'operationalTimes.scheduledGateArrival.dateLocal_x'\n 'schedule.flightType_x' 'schedule.serviceClasses_x' 'status_x'\n 'operationalTimes.actualDateTime_x'] not in index"
答案 0 :(得分:0)
Series.values
为您提供创建数据框的值。
如果您尝试将系列转换为一行数据帧,可以这样做,
import pandas as pd
In [33]: group
Out[33]:
a 0.316286
b -0.338733
c -1.050260
d -0.365461
e 0.996902
dtype: float64
In [34]: group.index
Out[34]: Index([u'a', u'b', u'c', u'd', u'e'], dtype='object')
In [35]: group.values
Out[35]: array([ 0.31628576, -0.33873327, -1.05026027, -0.3654615 , 0.99690196])
In [38]: featuresA = [str(col) + '_x' for col in group.index]
In [39]: df = pd.DataFrame([group.values], columns = featuresA)
In [40]: df
Out[40]:
a_x b_x c_x d_x e_x
0 0.316286 -0.338733 -1.05026 -0.365461 0.996902