本文整理匯總了Python中pandas.core.frame.DataFrame.sortlevel方法的典型用法代碼示例。如果您正苦於以下問題:Python DataFrame.sortlevel方法的具體用法?Python DataFrame.sortlevel怎麽用?Python DataFrame.sortlevel使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類pandas.core.frame.DataFrame
的用法示例。
在下文中一共展示了DataFrame.sortlevel方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: stack_sparse_frame
# 需要導入模塊: from pandas.core.frame import DataFrame [as 別名]
# 或者: from pandas.core.frame.DataFrame import sortlevel [as 別名]
def stack_sparse_frame(frame):
"""
Only makes sense when fill_value is NaN
"""
lengths = [s.sp_index.npoints for _, s in frame.iteritems()]
nobs = sum(lengths)
# this is pretty fast
minor_labels = np.repeat(np.arange(len(frame.columns)), lengths)
inds_to_concat = []
vals_to_concat = []
for _, series in frame.iteritems():
if not np.isnan(series.fill_value):
raise Exception('This routine assumes NaN fill value')
int_index = series.sp_index.to_int_index()
inds_to_concat.append(int_index.indices)
vals_to_concat.append(series.sp_values)
major_labels = np.concatenate(inds_to_concat)
stacked_values = np.concatenate(vals_to_concat)
index = MultiIndex(levels=[frame.index, frame.columns],
labels=[major_labels, minor_labels])
lp = DataFrame(stacked_values.reshape((nobs, 1)), index=index,
columns=['foo'])
return lp.sortlevel(level=0)
示例2: stack_sparse_frame
# 需要導入模塊: from pandas.core.frame import DataFrame [as 別名]
# 或者: from pandas.core.frame.DataFrame import sortlevel [as 別名]
def stack_sparse_frame(frame):
"""
Only makes sense when fill_value is NaN
"""
lengths = [s.sp_index.npoints for _, s in compat.iteritems(frame)]
nobs = sum(lengths)
# this is pretty fast
minor_labels = np.repeat(np.arange(len(frame.columns)), lengths)
inds_to_concat = []
vals_to_concat = []
# TODO: Figure out whether this can be reached.
# I think this currently can't be reached because you can't build a SparseDataFrame
# with a non-np.NaN fill value (fails earlier).
for _, series in compat.iteritems(frame):
if not np.isnan(series.fill_value):
raise TypeError('This routine assumes NaN fill value')
int_index = series.sp_index.to_int_index()
inds_to_concat.append(int_index.indices)
vals_to_concat.append(series.sp_values)
major_labels = np.concatenate(inds_to_concat)
stacked_values = np.concatenate(vals_to_concat)
index = MultiIndex(levels=[frame.index, frame.columns],
labels=[major_labels, minor_labels],
verify_integrity=False)
lp = DataFrame(stacked_values.reshape((nobs, 1)), index=index,
columns=['foo'])
return lp.sortlevel(level=0)
示例3: pivot
# 需要導入模塊: from pandas.core.frame import DataFrame [as 別名]
# 或者: from pandas.core.frame.DataFrame import sortlevel [as 別名]
def pivot(self, index=None, columns=None, values=None):
"""
See DataFrame.pivot
"""
index_vals = self[index]
column_vals = self[columns]
mindex = MultiIndex.from_arrays([index_vals, column_vals],
names=[index, columns])
if values is None:
items = self.columns - [index, columns]
mat = self.reindex(columns=items).values
else:
items = [values]
mat = np.atleast_2d(self[values].values).T
stacked = DataFrame(mat, index=mindex, columns=items)
if not mindex.is_lexsorted():
stacked = stacked.sortlevel(level=0)
unstacked = stacked.unstack()
if values is not None:
unstacked.columns = unstacked.columns.droplevel(0)
return unstacked
示例4: pivot
# 需要導入模塊: from pandas.core.frame import DataFrame [as 別名]
# 或者: from pandas.core.frame.DataFrame import sortlevel [as 別名]
def pivot(self, index=None, columns=None, values=None):
"""
See DataFrame.pivot
"""
index_vals = self[index]
column_vals = self[columns]
mindex = MultiIndex.from_arrays([index_vals, column_vals])
try:
mindex._verify_integrity()
except Exception:
raise Exception("duplicate index/column pairs!")
if values is None:
items = self.columns - [index, columns]
mat = self.reindex(columns=items).values
else:
items = [values]
mat = np.atleast_2d(self[values].values).T
stacked = DataFrame(mat, index=mindex, columns=items)
if not mindex.is_lexsorted():
stacked = stacked.sortlevel(level=0)
unstacked = stacked.unstack()
if values is not None:
unstacked.columns = unstacked.columns.droplevel(0)
return unstacked
示例5: to_frame
# 需要導入模塊: from pandas.core.frame import DataFrame [as 別名]
# 或者: from pandas.core.frame.DataFrame import sortlevel [as 別名]
def to_frame(self, filter_observations=True):
"""
Convert SparsePanel to (dense) DataFrame
Returns
-------
frame : DataFrame
"""
if not filter_observations:
raise TypeError('filter_observations=False not supported for '
'SparsePanel.to_long')
I, N, K = self.shape
counts = np.zeros(N * K, dtype=int)
d_values = {}
d_indexer = {}
for item in self.items:
frame = self[item]
values, major, minor = _stack_sparse_info(frame)
# values are stacked column-major
indexer = minor * N + major
counts.put(indexer, counts.take(indexer) + 1) # cuteness
d_values[item] = values
d_indexer[item] = indexer
# have full set of observations for each item
mask = counts == I
# for each item, take mask values at index locations for those sparse
# values, and use that to select values
values = np.column_stack([d_values[item][mask.take(d_indexer[item])]
for item in self.items])
inds, = mask.nonzero()
# still column major
major_labels = inds % N
minor_labels = inds // N
index = MultiIndex(levels=[self.major_axis, self.minor_axis],
labels=[major_labels, minor_labels],
verify_integrity=False)
df = DataFrame(values, index=index, columns=self.items)
return df.sortlevel(level=0)