mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 22:51:17 +07:00
[pycharm] PY-70312 Fix everything except charts
GitOrigin-RevId: dc4ef94d776105260e0b4d0965a08bfaf1165268
This commit is contained in:
committed by
intellij-monorepo-bot
parent
a7c8aaa04c
commit
a490bab8c2
@@ -17,7 +17,7 @@ from _pydevd_bundle.pydevd_extension_api import TypeResolveProvider, StrPresenta
|
|||||||
from _pydevd_bundle.pydevd_user_type_renderers_utils import try_get_type_renderer_for_var
|
from _pydevd_bundle.pydevd_user_type_renderers_utils import try_get_type_renderer_for_var
|
||||||
from _pydevd_bundle.pydevd_utils import is_string, should_evaluate_full_value, should_evaluate_shape
|
from _pydevd_bundle.pydevd_utils import is_string, should_evaluate_full_value, should_evaluate_shape
|
||||||
from _pydevd_bundle.pydevd_vars import get_label, array_default_format, is_able_to_format_number, MAXIMUM_ARRAY_SIZE, \
|
from _pydevd_bundle.pydevd_vars import get_label, array_default_format, is_able_to_format_number, MAXIMUM_ARRAY_SIZE, \
|
||||||
get_column_formatter_by_type, get_formatted_row_elements, DEFAULT_DF_FORMAT, DATAFRAME_HEADER_LOAD_MAX_SIZE
|
get_column_formatter_by_type, get_formatted_row_elements, IAtPolarsAccessor, DEFAULT_DF_FORMAT, DATAFRAME_HEADER_LOAD_MAX_SIZE
|
||||||
from pydev_console.pydev_protocol import DebugValue, GetArrayResponse, ArrayData, ArrayHeaders, ColHeader, RowHeader, \
|
from pydev_console.pydev_protocol import DebugValue, GetArrayResponse, ArrayData, ArrayHeaders, ColHeader, RowHeader, \
|
||||||
UnsupportedArrayTypeException, ExceedingArrayDimensionsException
|
UnsupportedArrayTypeException, ExceedingArrayDimensionsException
|
||||||
from _pydevd_bundle.pydevd_xml import ExceptionOnEvaluate
|
from _pydevd_bundle.pydevd_xml import ExceptionOnEvaluate
|
||||||
@@ -505,7 +505,7 @@ def dataframe_to_thrift_struct(df, name, roffset, coffset, rows, cols, format):
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
original_df = df
|
original_df = df
|
||||||
dim = len(df.axes)
|
dim = len(df.axes) if hasattr(df, 'axes') else -1
|
||||||
num_rows = df.shape[0]
|
num_rows = df.shape[0]
|
||||||
num_cols = df.shape[1] if dim > 1 else 1
|
num_cols = df.shape[1] if dim > 1 else 1
|
||||||
array_chunk = GetArrayResponse()
|
array_chunk = GetArrayResponse()
|
||||||
@@ -523,7 +523,7 @@ def dataframe_to_thrift_struct(df, name, roffset, coffset, rows, cols, format):
|
|||||||
except AttributeError:
|
except AttributeError:
|
||||||
try:
|
try:
|
||||||
kind = df.dtypes[0].kind
|
kind = df.dtypes[0].kind
|
||||||
except (IndexError, KeyError):
|
except (IndexError, KeyError, AttributeError):
|
||||||
kind = "O"
|
kind = "O"
|
||||||
format = array_default_format(kind)
|
format = array_default_format(kind)
|
||||||
else:
|
else:
|
||||||
@@ -556,19 +556,34 @@ def dataframe_to_thrift_struct(df, name, roffset, coffset, rows, cols, format):
|
|||||||
else:
|
else:
|
||||||
bounds = (0, 0)
|
bounds = (0, 0)
|
||||||
col_bounds[col] = bounds
|
col_bounds[col] = bounds
|
||||||
|
elif dim == -1:
|
||||||
|
dtype = '0'
|
||||||
|
dtypes[0] = dtype
|
||||||
|
col_bounds[0] = (df.min(), df.max()) if dtype in NUMPY_NUMERIC_TYPES and df.size != 0 else (0, 0)
|
||||||
else:
|
else:
|
||||||
dtype = df.dtype.kind
|
dtype = df.dtype.kind
|
||||||
dtypes[0] = dtype
|
dtypes[0] = dtype
|
||||||
col_bounds[0] = (df.min(), df.max()) if dtype in NUMPY_NUMERIC_TYPES and df.size != 0 else (0, 0)
|
col_bounds[0] = (df.min(), df.max()) if dtype in NUMPY_NUMERIC_TYPES and df.size != 0 else (0, 0)
|
||||||
|
|
||||||
df = df.iloc[roffset: roffset + rows, coffset: coffset + cols] if dim > 1 else df.iloc[roffset: roffset + rows]
|
if dim > 1:
|
||||||
|
df = df.iloc[roffset: roffset + rows, coffset: coffset + cols]
|
||||||
|
elif dim == -1:
|
||||||
|
df = df[roffset: roffset + rows]
|
||||||
|
else:
|
||||||
|
df.iloc[roffset: roffset + rows]
|
||||||
|
|
||||||
rows = df.shape[0]
|
rows = df.shape[0]
|
||||||
cols = df.shape[1] if dim > 1 else 1
|
cols = df.shape[1] if dim > 1 else 1
|
||||||
|
|
||||||
def col_to_format(c):
|
def col_to_format(c):
|
||||||
return get_column_formatter_by_type(format, dtypes[c])
|
return get_column_formatter_by_type(format, dtypes[c])
|
||||||
|
|
||||||
iat = df.iat if dim == 1 or len(df.columns.unique()) == len(df.columns) else df.iloc
|
if dim == -1:
|
||||||
|
iat = IAtPolarsAccessor(df)
|
||||||
|
elif dim == 1 or len(df.columns.unique()) == len(df.columns):
|
||||||
|
iat = df.iat
|
||||||
|
else:
|
||||||
|
iat = df.iloc
|
||||||
|
|
||||||
def formatted_row_elements(row):
|
def formatted_row_elements(row):
|
||||||
return get_formatted_row_elements(row, iat, dim, cols, format, dtypes)
|
return get_formatted_row_elements(row, iat, dim, cols, format, dtypes)
|
||||||
@@ -610,7 +625,7 @@ def header_data_to_thrift_struct(rows, cols, dtypes, col_bounds, col_to_format,
|
|||||||
for row in range(rows):
|
for row in range(rows):
|
||||||
row_header = RowHeader()
|
row_header = RowHeader()
|
||||||
row_header.index = row
|
row_header.index = row
|
||||||
row_header.label = get_label(df.axes[0].values[row])
|
row_header.label = get_label(df.axes[0].values[row] if dim != -1 else str(row))
|
||||||
row_headers.append(row_header)
|
row_headers.append(row_header)
|
||||||
array_headers.colHeaders = col_headers
|
array_headers.colHeaders = col_headers
|
||||||
array_headers.rowHeaders = row_headers
|
array_headers.rowHeaders = row_headers
|
||||||
|
|||||||
@@ -693,6 +693,13 @@ def get_label(label):
|
|||||||
|
|
||||||
DATAFRAME_HEADER_LOAD_MAX_SIZE = 100
|
DATAFRAME_HEADER_LOAD_MAX_SIZE = 100
|
||||||
|
|
||||||
|
class IAtPolarsAccessor:
|
||||||
|
def __init__(self, ps):
|
||||||
|
self.ps = ps
|
||||||
|
|
||||||
|
def __getitem__(self, row):
|
||||||
|
return self.ps[row]
|
||||||
|
|
||||||
|
|
||||||
def dataframe_to_xml(df, name, roffset, coffset, rows, cols, format):
|
def dataframe_to_xml(df, name, roffset, coffset, rows, cols, format):
|
||||||
"""
|
"""
|
||||||
@@ -707,7 +714,7 @@ def dataframe_to_xml(df, name, roffset, coffset, rows, cols, format):
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
original_df = df
|
original_df = df
|
||||||
dim = len(df.axes)
|
dim = len(df.axes) if hasattr(df, 'axes') else -1
|
||||||
num_rows = df.shape[0]
|
num_rows = df.shape[0]
|
||||||
num_cols = df.shape[1] if dim > 1 else 1
|
num_cols = df.shape[1] if dim > 1 else 1
|
||||||
format = format.replace('%', '')
|
format = format.replace('%', '')
|
||||||
@@ -719,7 +726,7 @@ def dataframe_to_xml(df, name, roffset, coffset, rows, cols, format):
|
|||||||
except AttributeError:
|
except AttributeError:
|
||||||
try:
|
try:
|
||||||
kind = df.dtypes[0].kind
|
kind = df.dtypes[0].kind
|
||||||
except (IndexError, KeyError):
|
except (IndexError, KeyError, AttributeError):
|
||||||
kind = 'O'
|
kind = 'O'
|
||||||
format = array_default_format(kind)
|
format = array_default_format(kind)
|
||||||
else:
|
else:
|
||||||
@@ -752,19 +759,34 @@ def dataframe_to_xml(df, name, roffset, coffset, rows, cols, format):
|
|||||||
else:
|
else:
|
||||||
bounds = (0, 0)
|
bounds = (0, 0)
|
||||||
col_bounds[col] = bounds
|
col_bounds[col] = bounds
|
||||||
|
elif dim == -1:
|
||||||
|
dtype = '0'
|
||||||
|
dtypes[0] = dtype
|
||||||
|
col_bounds[0] = (df.min(), df.max()) if dtype in NUMPY_NUMERIC_TYPES and df.size != 0 else (0, 0)
|
||||||
else:
|
else:
|
||||||
dtype = df.dtype.kind
|
dtype = df.dtype.kind
|
||||||
dtypes[0] = dtype
|
dtypes[0] = dtype
|
||||||
col_bounds[0] = (df.min(), df.max()) if dtype in NUMPY_NUMERIC_TYPES and df.size != 0 else (0, 0)
|
col_bounds[0] = (df.min(), df.max()) if dtype in NUMPY_NUMERIC_TYPES and df.size != 0 else (0, 0)
|
||||||
|
|
||||||
df = df.iloc[roffset: roffset + rows, coffset: coffset + cols] if dim > 1 else df.iloc[roffset: roffset + rows]
|
if dim > 1:
|
||||||
|
df = df.iloc[roffset: roffset + rows, coffset: coffset + cols]
|
||||||
|
elif dim == -1:
|
||||||
|
df = df[roffset: roffset + rows]
|
||||||
|
else:
|
||||||
|
df.iloc[roffset: roffset + rows]
|
||||||
|
|
||||||
rows = df.shape[0]
|
rows = df.shape[0]
|
||||||
cols = df.shape[1] if dim > 1 else 1
|
cols = df.shape[1] if dim > 1 else 1
|
||||||
|
|
||||||
def col_to_format(column_type):
|
def col_to_format(column_type):
|
||||||
return get_column_formatter_by_type(format, column_type)
|
return get_column_formatter_by_type(format, column_type)
|
||||||
|
|
||||||
iat = df.iat if dim == 1 or len(df.columns.unique()) == len(df.columns) else df.iloc
|
if dim == -1:
|
||||||
|
iat = IAtPolarsAccessor(df)
|
||||||
|
elif dim == 1 or len(df.columns.unique()) == len(df.columns):
|
||||||
|
iat = df.iat
|
||||||
|
else:
|
||||||
|
iat = df.iloc
|
||||||
|
|
||||||
def formatted_row_elements(row):
|
def formatted_row_elements(row):
|
||||||
return get_formatted_row_elements(row, iat, dim, cols, format, dtypes)
|
return get_formatted_row_elements(row, iat, dim, cols, format, dtypes)
|
||||||
@@ -801,7 +823,7 @@ def header_data_to_xml(rows, cols, dtypes, col_bounds, col_to_format, df, dim):
|
|||||||
xml += '<colheader index=\"%s\" label=\"%s\" type=\"%s\" format=\"%s\" max=\"%s\" min=\"%s\" />\n' % \
|
xml += '<colheader index=\"%s\" label=\"%s\" type=\"%s\" format=\"%s\" max=\"%s\" min=\"%s\" />\n' % \
|
||||||
(str(col), col_label, dtypes[col], col_to_format(dtypes[col]), quote(str(col_format % bounds[1])), quote(str(col_format % bounds[0])))
|
(str(col), col_label, dtypes[col], col_to_format(dtypes[col]), quote(str(col_format % bounds[1])), quote(str(col_format % bounds[0])))
|
||||||
for row in range(rows):
|
for row in range(rows):
|
||||||
xml += "<rowheader index=\"%s\" label = \"%s\"/>\n" % (str(row), quote(get_label(df.axes[0][row])))
|
xml += "<rowheader index=\"%s\" label = \"%s\"/>\n" % (str(row), quote(get_label(df.axes[0][row] if dim != -1 else str(row))))
|
||||||
xml += "</headerdata>\n"
|
xml += "</headerdata>\n"
|
||||||
return xml
|
return xml
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user