| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Python312/Lib/site-packages/pandas/plotting/_matplotlib/__pycache__/ |
Upload File : |
�
. �g� � � � d dl mZ d dlmZ d dlZd dlmZ d dlm Z m
Z
d dlmZ erd dl
mZ d dlmZ d d lmZmZ d
dd
�Z dd�Zdd�Zy)� )�annotations)�
TYPE_CHECKINGN)�remove_na_arraylike)�
MultiIndex�concat)�unpack_single_str_list)�Hashable)�
IndexLabel)� DataFrame�Seriesc � � |dk( rd}nd}t | j t � sJ �| j j | D �ci c]2 }|| j dd�| j j |� |k( f ��4 c}S c c}w )a~
Create data for iteration given `by` is assigned or not, and it is only
used in both hist and boxplot.
If `by` is assigned, return a dictionary of DataFrames in which the key of
dictionary is the values in groups.
If `by` is not assigned, return input as is, and this preserves current
status of iter_data.
Parameters
----------
data : reformatted grouped data from `_compute_plot_data` method.
kind : str, plot kind. This function is only used for `hist` and `box` plots.
Returns
-------
iter_data : DataFrame or Dictionary of DataFrames
Examples
--------
If `by` is assigned:
>>> import numpy as np
>>> tuples = [('h1', 'a'), ('h1', 'b'), ('h2', 'a'), ('h2', 'b')]
>>> mi = pd.MultiIndex.from_tuples(tuples)
>>> value = [[1, 3, np.nan, np.nan],
... [3, 4, np.nan, np.nan], [np.nan, np.nan, 5, 6]]
>>> data = pd.DataFrame(value, columns=mi)
>>> create_iter_data_given_by(data)
{'h1': h1
a b
0 1.0 3.0
1 3.0 4.0
2 NaN NaN, 'h2': h2
a b
0 NaN NaN
1 NaN NaN
2 5.0 6.0}
�histr � N)�
isinstance�columnsr �levels�loc�get_level_values)�data�kind�level�cols �EC:\Python312\Lib\site-packages\pandas/plotting/_matplotlib/groupby.py�create_iter_data_given_byr s� � �^ �v�~����� �d�l�l�J�/�/�/� �<�<�&�&�u�-��� �T�X�X�a����6�6�u�=��D�D�
E�E�� �� s �7A<c �� � t |� }| j |� }g }|D ]: \ }}t j |g|g� }|| } || _ |j | � �< t
|d�� } | S )al
Internal function to group data, and reassign multiindex column names onto the
result in order to let grouped data be used in _compute_plot_data method.
Parameters
----------
data : Original DataFrame to plot
by : grouped `by` parameter selected by users
cols : columns of data set (excluding columns used in `by`)
Returns
-------
Output is the reconstructed DataFrame with MultiIndex columns. The first level
of MI is unique values of groups, and second level of MI is the columns
selected by users.
Examples
--------
>>> d = {'h': ['h1', 'h1', 'h2'], 'a': [1, 3, 5], 'b': [3, 4, 6]}
>>> df = pd.DataFrame(d)
>>> reconstruct_data_with_by(df, by='h', cols=['a', 'b'])
h1 h2
a b a b
0 1.0 3.0 NaN NaN
1 3.0 4.0 NaN NaN
2 NaN NaN 5.0 6.0
r )�axis)r �groupbyr �from_productr �appendr )
r �by�cols�by_modified�grouped� data_list�key�groupr � sub_groups
r �reconstruct_data_with_byr( X s~ � �<