一个轻量级且有用的包,可通过其值在 Dataframe 中查找列。
项目描述
dataframe_column_identifier
latest version: 0.0.5
这是什么?
一个轻量级且有用的包,可通过其值在 Dataframe 中查找列。
安装
pip install dataframe-column-identifier==0.0.5
输入
from dataframe_column_identifier import DataFrameColumnIdentifier
KBest - 使用示例进行特征选择
import pandas as pd
from sklearn.feature_selection import SelectKBest, mutual_info_regression
from dataframe_column_identifier import DataFrameColumnIdentifier
print(X_train.shape)
(1460, 282)
print(X_test.shape)
(1459, 282)
dfci = DataFrameColumnIdentifier()
kbest = SelectKBest(score_func=mutual_info_regression, k=10)
kbest.fit_transform(X_train, y_train)
kbest_get_support_output = kbest.get_support()
print(kbest_get_support_output)
array([False, True, False, True, False, True, False, True, True,
False, False, True, False, False, False, False, False, False,
True, True, True, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, True, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False])
print(dfci.select_columns_KBest(X_train, kbest_get_support_output, verbose=1))
[
'1stFlrSF',
'ExterQual_TA',
'GarageArea',
'GarageCars',
'GarageYrBlt',
'GrLivArea',
'MSSubClass',
'OverallQual',
'TotalBsmtSF',
'YearBuilt'
]
X_train = dfci.transform(X_train)
X_test = dfci.transform(X_test)
print(X_train.shape)
(1460, 10)
print(X_test.shape)
(1459, 10)
print(X_train.head(10))
1stFlrSF ExterQual_TA GarageArea GarageCars GarageYrBlt GrLivArea MSSubClass OverallQual TotalBsmtSF YearBuilt
0 856.0 0.0 548.0 2.0 2003.0 1710.0 60.0 7.0 856.0 2003.0
1 1262.0 1.0 460.0 2.0 1976.0 1262.0 20.0 6.0 1262.0 1976.0
2 920.0 0.0 608.0 2.0 2001.0 1786.0 60.0 7.0 920.0 2001.0
3 961.0 1.0 642.0 3.0 1998.0 1717.0 70.0 7.0 756.0 1915.0
4 1145.0 0.0 836.0 3.0 2000.0 2198.0 60.0 8.0 1145.0 2000.0
5 796.0 1.0 480.0 2.0 1993.0 1362.0 50.0 5.0 796.0 1993.0
6 1694.0 0.0 636.0 2.0 2004.0 1694.0 20.0 8.0 1686.0 2004.0
7 1107.0 1.0 484.0 2.0 1973.0 2090.0 60.0 7.0 1107.0 1973.0
8 1022.0 1.0 468.0 2.0 1931.0 1774.0 50.0 7.0 952.0 1931.0
9 1077.0 1.0 205.0 1.0 1939.0 1077.0 190.0 5.0 991.0 1939.0
print(X_test.head(10))
1stFlrSF ExterQual_TA GarageArea GarageCars GarageYrBlt GrLivArea MSSubClass OverallQual TotalBsmtSF YearBuilt
0 896.0 1.0 730.0 1.0 1961.0 896.0 20.0 5.0 882.0 1961.0
1 1329.0 1.0 312.0 1.0 1958.0 1329.0 20.0 6.0 1329.0 1958.0
2 928.0 1.0 482.0 2.0 1997.0 1629.0 60.0 5.0 928.0 1997.0
3 926.0 1.0 470.0 2.0 1998.0 1604.0 60.0 6.0 926.0 1998.0
4 1280.0 0.0 506.0 2.0 1992.0 1280.0 120.0 8.0 1280.0 1992.0
5 763.0 1.0 440.0 2.0 1993.0 1655.0 60.0 6.0 763.0 1993.0
6 1187.0 1.0 420.0 2.0 1992.0 1187.0 20.0 6.0 1168.0 1992.0
7 789.0 1.0 393.0 2.0 1998.0 1465.0 60.0 6.0 789.0 1998.0
8 1341.0 1.0 506.0 2.0 1990.0 1341.0 20.0 7.0 1300.0 1990.0
9 882.0 1.0 525.0 2.0 1970.0 882.0 20.0 4.0 882.0 1970.0
使用示例选择特征
import pandas as pd
from sklearn.feature_selection import SelectKBest, mutual_info_regression
from dataframe_column_identifier import DataFrameColumnIdentifier
print(X_train.shape)
(1460, 282)
print(X_test.shape)
(1459, 282)
dfci = DataFrameColumnIdentifier()
kbest = SelectKBest(score_func=mutual_info_regression, k=10)
kbest_selected_features = kbest.fit_transform(X_train, y_train)
print(kbest_selected_features.shape)
(1460, 10)
print(pd.DataFrame(kbest_selected_features).head(10))
0 1 2 3 4 5 6 7 8 9
0 60.0 7.0 2003.0 856.0 856.0 1710.0 2003.0 2.0 548.0 0.0
1 20.0 6.0 1976.0 1262.0 1262.0 1262.0 1976.0 2.0 460.0 1.0
2 60.0 7.0 2001.0 920.0 920.0 1786.0 2001.0 2.0 608.0 0.0
3 70.0 7.0 1915.0 756.0 961.0 1717.0 1998.0 3.0 642.0 1.0
4 60.0 8.0 2000.0 1145.0 1145.0 2198.0 2000.0 3.0 836.0 0.0
5 50.0 5.0 1993.0 796.0 796.0 1362.0 1993.0 2.0 480.0 1.0
6 20.0 8.0 2004.0 1686.0 1694.0 1694.0 2004.0 2.0 636.0 0.0
7 60.0 7.0 1973.0 1107.0 1107.0 2090.0 1973.0 2.0 484.0 1.0
8 50.0 7.0 1931.0 952.0 1022.0 1774.0 1931.0 2.0 468.0 1.0
9 190.0 5.0 1939.0 991.0 1077.0 1077.0 1939.0 1.0 205.0 1.0
print(dfci.select_columns_by_values(X_train, kbest_selected_features, n_validation_rows=100, verbose=1))
[
'1stFlrSF',
'ExterQual_TA',
'GarageArea',
'GarageCars',
'GarageYrBlt',
'GrLivArea',
'MSSubClass',
'OverallQual',
'TotalBsmtSF',
'YearBuilt'
]
X_train = dfci.transform(X_train)
X_test = dfci.transform(X_test)
print(X_train.shape)
(1460, 10)
print(X_test.shape)
(1459, 10)
print(X_train.head(10))
1stFlrSF ExterQual_TA GarageArea GarageCars GarageYrBlt GrLivArea MSSubClass OverallQual TotalBsmtSF YearBuilt
0 856.0 0.0 548.0 2.0 2003.0 1710.0 60.0 7.0 856.0 2003.0
1 1262.0 1.0 460.0 2.0 1976.0 1262.0 20.0 6.0 1262.0 1976.0
2 920.0 0.0 608.0 2.0 2001.0 1786.0 60.0 7.0 920.0 2001.0
3 961.0 1.0 642.0 3.0 1998.0 1717.0 70.0 7.0 756.0 1915.0
4 1145.0 0.0 836.0 3.0 2000.0 2198.0 60.0 8.0 1145.0 2000.0
5 796.0 1.0 480.0 2.0 1993.0 1362.0 50.0 5.0 796.0 1993.0
6 1694.0 0.0 636.0 2.0 2004.0 1694.0 20.0 8.0 1686.0 2004.0
7 1107.0 1.0 484.0 2.0 1973.0 2090.0 60.0 7.0 1107.0 1973.0
8 1022.0 1.0 468.0 2.0 1931.0 1774.0 50.0 7.0 952.0 1931.0
9 1077.0 1.0 205.0 1.0 1939.0 1077.0 190.0 5.0 991.0 1939.0
print(X_test.head(10))
1stFlrSF ExterQual_TA GarageArea GarageCars GarageYrBlt GrLivArea MSSubClass OverallQual TotalBsmtSF YearBuilt
0 896.0 1.0 730.0 1.0 1961.0 896.0 20.0 5.0 882.0 1961.0
1 1329.0 1.0 312.0 1.0 1958.0 1329.0 20.0 6.0 1329.0 1958.0
2 928.0 1.0 482.0 2.0 1997.0 1629.0 60.0 5.0 928.0 1997.0
3 926.0 1.0 470.0 2.0 1998.0 1604.0 60.0 6.0 926.0 1998.0
4 1280.0 0.0 506.0 2.0 1992.0 1280.0 120.0 8.0 1280.0 1992.0
5 763.0 1.0 440.0 2.0 1993.0 1655.0 60.0 6.0 763.0 1993.0
6 1187.0 1.0 420.0 2.0 1992.0 1187.0 20.0 6.0 1168.0 1992.0
7 789.0 1.0 393.0 2.0 1998.0 1465.0 60.0 6.0 789.0 1998.0
8 1341.0 1.0 506.0 2.0 1990.0 1341.0 20.0 7.0 1300.0 1990.0
9 882.0 1.0 525.0 2.0 1970.0 882.0 20.0 4.0 882.0 1970.0
dataframe_column_identifier.DataFrameColumnIdentifier
创建新实例
dfci = DataFrameColumnIdentifier()
方法
-
select_columns_by_values :
返回基于值矩阵选择的 Pandas DataFrame 列的名称。
dfci.select_columns_by_values(X, selected_values, n_validation_rows=100, verbose=1)参数:
-
X:熊猫数据框
具有必须找到的列的 DataFrame(DataFrame 也必须具有列的值)。
-
X_columns_values : numpy 矩阵
要查找的列的值。
-
n_validation_rows :int,可选(默认= 1000)
列比较中必须相等的行数。如果通知数大于 X 中的行数,则使用 X 中的行数。
-
详细:int,可选(默认=0)
它控制查找列时的详细程度。
-
-
select_columns_KBest :
返回基于 KBest.get_support 方法的输出选择的 Pandas DataFrame 列的名称。
dfci.select_columns_KBest(X, kbest_get_support_output, verbose=1)参数
-
X:熊猫数据框
KBest.fit_transform 方法中使用的相同 DataFrame。
-
kbest_get_support_output : 布尔数组
KBest.get_support 方法的输出。
-
详细:int,可选(默认=0)
它控制查找列时的详细程度。
-
-
转换 :
返回一个新的 Pandas DataFrame,其中仅包含在 select_columns_* 方法中选择的列。
dfci.transform(X)参数:
-
X:熊猫数据框
要转换的 DataFrame(Pandas DataFrame 必须具有应该找到的列)。
-
属性
- selected_columns_ :在 select_columns_* 方法执行后,根据给定值选择的给定 Pandas DataFrame 列的名称。
项目详情
dataframe_column_identifier -0.0.5-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 8b4e3deaaa15e3528cf714ced613b38a51a51ebfab15aa9321e679d6ecc3495e |
|
| MD5 | 34faeffd21dc12f1116be7eb13f07063 |
|
| 布莱克2-256 | 0e1a8380bf3ca87390f8693c741286bdd1c3418d414f6d9ad254bf193f501249 |