这个主题有几个问题,但在我的案例中似乎没有任何问题。这是我想要的一个愚蠢的版本:
这是感兴趣的csv文件:http://pastebin.com/rP7tPDse
我将透视表创建为:
piv = pd.read_csv("test.csv",delimiter = "\s+").pivot_table('z','x','y')
然后返回
y 0.0 1.0 1.3 2.0
x
0.0 1.0 5.0 NaN 4.0
1.0 3.0 4.0 NaN 6.0
1.5 NaN NaN 7.0 NaN
2.0 3.0 5.0 NaN 7.0
我想找到一个这个数组的片段作为pivot_table,例如:
y 1.3 2.0
x
0.0 NaN 4.0
1.0 NaN 6.0
基于x和y值。我想要包含NaN以及稍后对它们进行处理。非常感谢。
编辑:更新问题更具体。
我希望提取一个数据透视表,该数据透视表的值由列' z'表示。并由' x'索引并且' y',条件是:
从 piv ,如上所述,我想做类似的事情:
piv.loc[(piv.y <= 2.0) &
(piv.y >= 1.3) &
(piv.x >= 0.0) &
(piv.x <= 1.2)]
这会让我得到上面的例子答案。 此外,在我未在此处发布的实际数据集中,还有更多列。 &#39; x&#39;,&#39; y&#39;和&#39; z&#39;只是其中的一部分。
答案 0 :(得分:2)
当我复制数据帧时,列是字符串,行是浮点数 将列设为float
df.columns = df.columns.astype(float)
df.loc[pd.IndexSlice[0:1], pd.IndexSlice[1.3:2]]