如何将特定的筛选行作为序列?
数据帧示例:
>>> df = pd.DataFrame({'date': [20130101, 20130101, 20130102], 'location': ['a', 'a', 'c']})
>>> df
date location
0 20130101 a
1 20130101 a
2 20130102 c
我需要选择location
所在的行c
作为一个系列。
我试过:
row = df[df["location"] == "c"].head(1) # gives a dataframe
row = df.ix[df["location"] == "c"] # also gives a dataframe with single row
在这两种情况下,我都不能将行作为序列。
您可以使用整数索引(iloc()函数)获取第一行:
使用^{} 函数从数据帧中删除一个维度:
当设置为
True
时,DataFrame.squeeze
方法的作用与read_csv
函数的squeeze
参数相同:如果生成的数据帧是1-len的数据帧,即它只有一个维度(列或行),则对象被压缩到更小的维度对象。在您的例子中,您可以从数据帧中获取一个Series对象。如果将面板向下挤压到数据帧,同样的逻辑也适用。
挤压在您的代码中是明确的,并且清楚地显示了您“放下”手中的对象的意图,因为它的维度可以投影到更小的对象上。
如果数据帧有多个列或行,则挤压不起作用。
相关问题 更多 >
编程相关推荐