Update(blocks): python新增一些pandas图形块,多语言将在稳定后进行

新增pandas API如下:
1. 值排序: sort_values()
2. 获取前 / 后n行数据: head() / tail()
3. 根据所给条件筛选数据
4. 通过给定标签分组: groupby()
5. 常用聚合函数
This commit is contained in:
王立帮
2024-09-16 02:52:18 +08:00
parent 4570a2e9ab
commit b573250af6
4 changed files with 665 additions and 345 deletions

View File

@@ -2457,11 +2457,11 @@
</value>
</block>
<block type="dataframe_info">
<value name="DATAFRAME">
<shadow type="variables_get">
<field name="VAR">df</field>
</shadow>
</value>
<value name="DATAFRAME">
<shadow type="variables_get">
<field name="VAR">df</field>
</shadow>
</value>
</block>
<block type="dataframe_median">
<value name="DATAFRAME">
@@ -2472,61 +2472,61 @@
</block>
<block type="numpy_min">
<value name="ARRAY">
<shadow type="variables_get">
<field name="VAR">array</field>
</shadow>
<shadow type="variables_get">
<field name="VAR">array</field>
</shadow>
</value>
<dummy>
<field name="AXIS">None</field>
<field name="AXIS">None</field>
</dummy>
</block>
<block type="numpy_max">
<value name="ARRAY">
<shadow type="variables_get">
<field name="VAR">array</field>
</shadow>
<shadow type="variables_get">
<field name="VAR">array</field>
</shadow>
</value>
<dummy>
<field name="AXIS">None</field>
<field name="AXIS">None</field>
</dummy>
</block>
<block type="numpy_sum">
<value name="ARRAY">
<shadow type="variables_get">
<field name="VAR">array</field>
</shadow>
<shadow type="variables_get">
<field name="VAR">array</field>
</shadow>
</value>
</block>
<block type="py_sum">
<block type="py_sum">
<value name="ARRAY">
<shadow type="variables_get">
<field name="VAR">array</field>
</shadow>
<shadow type="variables_get">
<field name="VAR">array</field>
</shadow>
</value>
</block>
</block>
<block type="numpy_size">
<value name="ARRAY">
<shadow type="variables_get">
<field name="VAR">array</field>
</shadow>
<shadow type="variables_get">
<field name="VAR">array</field>
</shadow>
</value>
</block>
<block type="dataframe_fillna">
<value name="DATAFRAME">
<shadow type="variables_get">
<field name="VAR">df</field>
</shadow>
<shadow type="variables_get">
<field name="VAR">df</field>
</shadow>
</value>
<value name="VALUE">
<shadow type="variables_get">
<field name="VAR">value</field>
</shadow>
<shadow type="variables_get">
<field name="VAR">value</field>
</shadow>
</value>
<dummy>
<field name="INPLACE">False</field>
<field name="INPLACE">False</field>
</dummy>
</block>
</block>
<block type="pandas_dropna">
<value name="DF">
<shadow type="variables_get">
@@ -2578,9 +2578,9 @@
</block>
<block type="numpy_random_random">
<value name="SIZE">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="numpy_c_">
@@ -2618,9 +2618,9 @@
</block>
<block type="numpy_square">
<value name="ARRAY">
<shadow type="variables_get">
<field name="VAR">array</field>
</shadow>
<shadow type="variables_get">
<field name="VAR">array</field>
</shadow>
</value>
</block>
<block type="matrix_multiplication">
@@ -2637,14 +2637,14 @@
</block>
<block type="numpy_dot">
<value name="ARRAY1">
<shadow type="variables_get">
<field name="VAR">array1</field>
</shadow>
<shadow type="variables_get">
<field name="VAR">array1</field>
</shadow>
</value>
<value name="ARRAY2">
<shadow type="variables_get">
<field name="VAR">array2</field>
</shadow>
<shadow type="variables_get">
<field name="VAR">array2</field>
</shadow>
</value>
</block>
<block type="array_toarray">
@@ -2835,6 +2835,95 @@
</shadow>
</value>
</block>
<block type="dataframe_sort_values">
<value name="DICT">
<shadow type="variables_get">
<field name="VAR">df1</field>
</shadow>
</value>
<value name="KEY">
<shadow type="text">
<field name="TEXT">tag</field>
</shadow>
</value>
</block>
<block type="dataframe_head_tail">
<value name="DICT">
<shadow type="variables_get">
<field name="VAR">df1</field>
</shadow>
</value>
<value name="LINES">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
</block>
<block type="dataframe_select">
<value name="DICT">
<shadow type="variables_get">
<field name="VAR">df1</field>
</shadow>
</value>
<value name="KEY">
<block type="logic_compare">
<field name="OP">GT</field>
<value name="A">
<block type="dataframe_get">
<field name="MODE">column</field>
<value name="DICT">
<shadow type="variables_get">
<field name="VAR">df1</field>
</shadow>
</value>
<value name="KEY">
<shadow type="text">
<field name="TEXT">tag</field>
</shadow>
</value>
</block>
</value>
<value name="B">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
<block type="dataframe_groupby">
<value name="DICT">
<shadow type="variables_get">
<field name="VAR">df1</field>
</shadow>
</value>
<value name="KEY">
<shadow type="text">
<field name="TEXT">tag</field>
</shadow>
</value>
</block>
<block type="dataframe_aggregate_func">
<field name="TYPE">min</field>
<value name="DICT">
<shadow type="variables_get">
<field name="VAR">df1</field>
</shadow>
<block type="dataframe_get">
<field name="MODE">column</field>
<value name="DICT">
<shadow type="variables_get">
<field name="VAR">df1</field>
</shadow>
</value>
<value name="KEY">
<shadow type="text">
<field name="TEXT">tag</field>
</shadow>
</value>
</block>
</value>
</block>
<block type="pl_plot_easy">
<value name="SER">
<shadow type="variables_get">
@@ -3225,342 +3314,342 @@
</category>
<category id="catsklearn" colour="80">
<block type="sklearn_make_classification">
<value name="n_samples">
<shadow type="math_number">
<field name="NUM">100</field>
</shadow>
</value>
<value name="n_features">
<shadow type="math_number">
<field name="NUM">20</field>
</shadow>
</value>
<value name="n_informative">
<shadow type="math_number">
<field name="NUM">2</field>
</shadow>
</value>
<value name="n_redundant">
<shadow type="math_number">
<field name="NUM">2</field>
</shadow>
</value>
<value name="n_repeated">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="n_classes">
<shadow type="math_number">
<field name="NUM">2</field>
</shadow>
</value>
<value name="n_clusters_per_class">
<shadow type="math_number">
<field name="NUM">2</field>
</shadow>
</value>
<value name="random_state">
<shadow type="logic_null"></shadow>
</value>
<value name="n_samples">
<shadow type="math_number">
<field name="NUM">100</field>
</shadow>
</value>
<value name="n_features">
<shadow type="math_number">
<field name="NUM">20</field>
</shadow>
</value>
<value name="n_informative">
<shadow type="math_number">
<field name="NUM">2</field>
</shadow>
</value>
<value name="n_redundant">
<shadow type="math_number">
<field name="NUM">2</field>
</shadow>
</value>
<value name="n_repeated">
<shadow type="math_number">
<field name="NUM">0</field>
</shadow>
</value>
<value name="n_classes">
<shadow type="math_number">
<field name="NUM">2</field>
</shadow>
</value>
<value name="n_clusters_per_class">
<shadow type="math_number">
<field name="NUM">2</field>
</shadow>
</value>
<value name="random_state">
<shadow type="logic_null"></shadow>
</value>
</block>
<block type="sklearn_make_regression">
<value name="n_samples">
<shadow type="math_number">
<field name="NUM">100</field>
</shadow>
</value>
<value name="n_features">
<shadow type="math_number">
<field name="NUM">100</field>
</shadow>
</value>
<value name="n_informative">
<shadow type="math_number">
<field name="NUM">10</field>
</shadow>
</value>
<value name="n_targets">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
<value name="bias">
<shadow type="math_number">
<field name="NUM">0.0</field>
</shadow>
</value>
<value name="noise">
<shadow type="math_number">
<field name="NUM">0.0</field>
</shadow>
</value>
<value name="random_state">
<shadow type="logic_null"></shadow>
</value>
<value name="n_samples">
<shadow type="math_number">
<field name="NUM">100</field>
</shadow>
</value>
<value name="n_features">
<shadow type="math_number">
<field name="NUM">100</field>
</shadow>
</value>
<value name="n_informative">
<shadow type="math_number">
<field name="NUM">10</field>
</shadow>
</value>
<value name="n_targets">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
<value name="bias">
<shadow type="math_number">
<field name="NUM">0.0</field>
</shadow>
</value>
<value name="noise">
<shadow type="math_number">
<field name="NUM">0.0</field>
</shadow>
</value>
<value name="random_state">
<shadow type="logic_null"></shadow>
</value>
</block>
<block type="sklearn_make_blobs">
<value name="n_samples">
<shadow type="math_number">
<field name="NUM">100</field>
</shadow>
</value>
<value name="n_features">
<shadow type="math_number">
<field name="NUM">2</field>
</shadow>
</value>
<value name="centers">
<shadow type="logic_null"></shadow>
</value>
<value name="cluster_std">
<shadow type="math_number">
<field name="NUM">1.0</field>
</shadow>
</value>
<value name="center_box">
<block type="tuple_create_with_text_return">
<field name="TEXT">-10.0,10.0</field>
</block>
</value>
<value name="shuffle">
<shadow type="logic_boolean">
<field name="BOOL">TRUE</field>
</shadow>
</value>
<value name="random_state">
<shadow type="logic_null"></shadow>
</value>
<value name="n_samples">
<shadow type="math_number">
<field name="NUM">100</field>
</shadow>
</value>
<value name="n_features">
<shadow type="math_number">
<field name="NUM">2</field>
</shadow>
</value>
<value name="centers">
<shadow type="logic_null"></shadow>
</value>
<value name="cluster_std">
<shadow type="math_number">
<field name="NUM">1.0</field>
</shadow>
</value>
<value name="center_box">
<block type="tuple_create_with_text_return">
<field name="TEXT">-10.0,10.0</field>
</block>
</value>
<value name="shuffle">
<shadow type="logic_boolean">
<field name="BOOL">TRUE</field>
</shadow>
</value>
<value name="random_state">
<shadow type="logic_null"></shadow>
</value>
</block>
<block type="sklearn_load">
</block>
<block type="sklearn_data_target">
<value name="name">
<shadow type="variables_get">
<field name="VAR">iris</field>
</shadow>
</value>
<value name="name">
<shadow type="variables_get">
<field name="VAR">iris</field>
</shadow>
</value>
</block>
<block type="sklearn_train_test_split">
<value name="train_data">
<shadow type="variables_get">
<field name="VAR">iris_X</field>
</shadow>
</value>
<value name="train_target">
<shadow type="variables_get">
<field name="VAR">iris_y</field>
</shadow>
</value>
<value name="test_size">
<shadow type="math_number">
<field name="NUM">0.3</field>
</shadow>
</value>
<value name="rondom_state">
<shadow type="logic_null"></shadow>
</value>
<value name="train_data">
<shadow type="variables_get">
<field name="VAR">iris_X</field>
</shadow>
</value>
<value name="train_target">
<shadow type="variables_get">
<field name="VAR">iris_y</field>
</shadow>
</value>
<value name="test_size">
<shadow type="math_number">
<field name="NUM">0.3</field>
</shadow>
</value>
<value name="rondom_state">
<shadow type="logic_null"></shadow>
</value>
</block>
<block type="sklearn_LinearRegression">
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="fit_intercept">
<shadow type="logic_boolean">
<field name="BOOL">TRUE</field>
</shadow>
</value>
<value name="normalize">
<shadow type="logic_boolean">
<field name="BOOL">FALSE</field>
</shadow>
</value>
<value name="n_jobs">
<shadow type="logic_null"></shadow>
</value>
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="fit_intercept">
<shadow type="logic_boolean">
<field name="BOOL">TRUE</field>
</shadow>
</value>
<value name="normalize">
<shadow type="logic_boolean">
<field name="BOOL">FALSE</field>
</shadow>
</value>
<value name="n_jobs">
<shadow type="logic_null"></shadow>
</value>
</block>
<block type="sklearn_Ridge">
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="alpha">
<shadow type="math_number">
<field name="NUM">1.0</field>
</shadow>
</value>
<value name="fit_intercept">
<shadow type="logic_boolean">
<field name="BOOL">TRUE</field>
</shadow>
</value>
<value name="normalize">
<shadow type="logic_boolean">
<field name="BOOL">FALSE</field>
</shadow>
</value>
<value name="max_iter">
<shadow type="math_number">
<field name="NUM">300</field>
</shadow>
</value>
<value name="random_state">
<shadow type="logic_null"></shadow>
</value>
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="alpha">
<shadow type="math_number">
<field name="NUM">1.0</field>
</shadow>
</value>
<value name="fit_intercept">
<shadow type="logic_boolean">
<field name="BOOL">TRUE</field>
</shadow>
</value>
<value name="normalize">
<shadow type="logic_boolean">
<field name="BOOL">FALSE</field>
</shadow>
</value>
<value name="max_iter">
<shadow type="math_number">
<field name="NUM">300</field>
</shadow>
</value>
<value name="random_state">
<shadow type="logic_null"></shadow>
</value>
</block>
<block type="sklearn_DecisionTreeClassifier_Regressor">
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="max_depth">
<shadow type="logic_null"></shadow>
</value>
<value name="random_state">
<shadow type="logic_null"></shadow>
</value>
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="max_depth">
<shadow type="logic_null"></shadow>
</value>
<value name="random_state">
<shadow type="logic_null"></shadow>
</value>
</block>
<block type="sklearn_RandomForestClassifier_Regressor">
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="n_estimators">
<shadow type="math_number">
<field name="NUM">100</field>
</shadow>
</value>
<value name="max_depth">
<shadow type="logic_null"></shadow>
</value>
<value name="n_jobs">
<shadow type="logic_null"></shadow>
</value>
<value name="random_state">
<shadow type="logic_null"></shadow>
</value>
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="n_estimators">
<shadow type="math_number">
<field name="NUM">100</field>
</shadow>
</value>
<value name="max_depth">
<shadow type="logic_null"></shadow>
</value>
<value name="n_jobs">
<shadow type="logic_null"></shadow>
</value>
<value name="random_state">
<shadow type="logic_null"></shadow>
</value>
</block>
<block type="sklearn_KNeighborsClassifier_Regressor">
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="K">
<shadow type="math_number">
<field name="NUM">5</field>
</shadow>
</value>
<value name="n_jobs">
<shadow type="logic_null"></shadow>
</value>
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="K">
<shadow type="math_number">
<field name="NUM">5</field>
</shadow>
</value>
<value name="n_jobs">
<shadow type="logic_null"></shadow>
</value>
</block>
<block type="sklearn_GaussianNB">
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
</block>
<block type="sklearn_KMeans">
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="n_clusters">
<shadow type="math_number">
<field name="NUM">8</field>
</shadow>
</value>
<value name="max_iter">
<shadow type="math_number">
<field name="NUM">300</field>
</shadow>
</value>
<value name="random_state">
<shadow type="logic_null"></shadow>
</value>
<value name="n_jobs">
<shadow type="logic_null"></shadow>
</value>
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="n_clusters">
<shadow type="math_number">
<field name="NUM">8</field>
</shadow>
</value>
<value name="max_iter">
<shadow type="math_number">
<field name="NUM">300</field>
</shadow>
</value>
<value name="random_state">
<shadow type="logic_null"></shadow>
</value>
<value name="n_jobs">
<shadow type="logic_null"></shadow>
</value>
</block>
<block type="sklearn_fit">
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="train_data">
<shadow type="variables_get">
<field name="VAR">X_train</field>
</shadow>
</value>
<value name="train_target">
<shadow type="variables_get">
<field name="VAR">y_train</field>
</shadow>
</value>
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="train_data">
<shadow type="variables_get">
<field name="VAR">X_train</field>
</shadow>
</value>
<value name="train_target">
<shadow type="variables_get">
<field name="VAR">y_train</field>
</shadow>
</value>
</block>
<block type="sklearn_score">
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="train_data">
<shadow type="variables_get">
<field name="VAR">X_test</field>
</shadow>
</value>
<value name="train_target">
<shadow type="variables_get">
<field name="VAR">y_test</field>
</shadow>
</value>
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="train_data">
<shadow type="variables_get">
<field name="VAR">X_test</field>
</shadow>
</value>
<value name="train_target">
<shadow type="variables_get">
<field name="VAR">y_test</field>
</shadow>
</value>
</block>
<block type="sklearn_predict">
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="train_data">
<shadow type="variables_get">
<field name="VAR">X_test</field>
</shadow>
</value>
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="train_data">
<shadow type="variables_get">
<field name="VAR">X_test</field>
</shadow>
</value>
</block>
<block type="sklearn_coef_intercept">
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
</block>
<block type="sklearn_cluster_centers_labels_inertia">
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
</block>
<block type="sklearn_save_load_model">
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="address">
<shadow type="text">
<field name="TEXT">D:/mixly/test.pkl</field>
</shadow>
</value>
<value name="model_name">
<shadow type="variables_get">
<field name="VAR">model</field>
</shadow>
</value>
<value name="address">
<shadow type="text">
<field name="TEXT">D:/mixly/test.pkl</field>
</shadow>
</value>
</block>
</category>
</category>
</xml>