{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Case 01 ##\n",
"\n",
"Group of countries according to cultures.\n",
"\n",
"The Hofstede model allows characterizing the culture supported on studies on national values.\n",
"\n",
"Those values are:\n",
"\n",
"* PDI - Power distance\n",
"* IDV - Individualism\n",
"* MAS - Motivation - Aspiration\n",
"* UAI - Uncertainty avoidance\n",
"* LTOWVS - Long Term Orientation\n",
"* IVR - Indulgencs vs. Restraing\n",
"\n",
"This study identifies the value of a specific country. Is it possible identifying groups of countries with similar cultures?\n"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.cluster import KMeans\n"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [],
"source": [
"file='https://raw.githubusercontent.com/masterfloss/data/main/culture2015.csv'\n",
"df=pd.read_csv(file, sep=\";\")"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" ctr \n",
" country \n",
" pdi \n",
" idv \n",
" mas \n",
" uai \n",
" ltowvs \n",
" ivr \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" AFE \n",
" Africa East \n",
" 64 \n",
" 27 \n",
" 41 \n",
" 52 \n",
" 32 \n",
" 40 \n",
" \n",
" \n",
" 1 \n",
" AFW \n",
" Africa West \n",
" 77 \n",
" 20 \n",
" 46 \n",
" 54 \n",
" 9 \n",
" 78 \n",
" \n",
" \n",
" 2 \n",
" ALB \n",
" Albania \n",
" #NULL! \n",
" #NULL! \n",
" #NULL! \n",
" #NULL! \n",
" 61 \n",
" 15 \n",
" \n",
" \n",
" 3 \n",
" ALG \n",
" Algeria \n",
" #NULL! \n",
" #NULL! \n",
" #NULL! \n",
" #NULL! \n",
" 26 \n",
" 32 \n",
" \n",
" \n",
" 4 \n",
" AND \n",
" Andorra \n",
" #NULL! \n",
" #NULL! \n",
" #NULL! \n",
" #NULL! \n",
" #NULL! \n",
" 65 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" ctr country pdi idv mas uai ltowvs ivr\n",
"0 AFE Africa East 64 27 41 52 32 40\n",
"1 AFW Africa West 77 20 46 54 9 78\n",
"2 ALB Albania #NULL! #NULL! #NULL! #NULL! 61 15\n",
"3 ALG Algeria #NULL! #NULL! #NULL! #NULL! 26 32\n",
"4 AND Andorra #NULL! #NULL! #NULL! #NULL! #NULL! 65"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"ctr object\n",
"country object\n",
"pdi object\n",
"idv object\n",
"mas object\n",
"uai object\n",
"ltowvs object\n",
"ivr object\n",
"dtype: object"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.dtypes"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [],
"source": [
"#df.iloc[:,2]=pd.to_numeric(df.iloc[:,2], errors='coerce')\n",
"\n",
"for i in range(2,8):\n",
" df.iloc[:,i]=pd.to_numeric(df.iloc[:,i], errors='coerce')\n"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" ctr \n",
" country \n",
" pdi \n",
" idv \n",
" mas \n",
" uai \n",
" ltowvs \n",
" ivr \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" AFE \n",
" Africa East \n",
" 64.0 \n",
" 27.0 \n",
" 41.0 \n",
" 52.0 \n",
" 32.0 \n",
" 40.0 \n",
" \n",
" \n",
" 1 \n",
" AFW \n",
" Africa West \n",
" 77.0 \n",
" 20.0 \n",
" 46.0 \n",
" 54.0 \n",
" 9.0 \n",
" 78.0 \n",
" \n",
" \n",
" 5 \n",
" ARA \n",
" Arab countries \n",
" 80.0 \n",
" 38.0 \n",
" 53.0 \n",
" 68.0 \n",
" 23.0 \n",
" 34.0 \n",
" \n",
" \n",
" 6 \n",
" ARG \n",
" Argentina \n",
" 49.0 \n",
" 46.0 \n",
" 56.0 \n",
" 86.0 \n",
" 20.0 \n",
" 62.0 \n",
" \n",
" \n",
" 8 \n",
" AUL \n",
" Australia \n",
" 38.0 \n",
" 90.0 \n",
" 61.0 \n",
" 51.0 \n",
" 21.0 \n",
" 71.0 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 102 \n",
" TUR \n",
" Turkey \n",
" 66.0 \n",
" 37.0 \n",
" 45.0 \n",
" 85.0 \n",
" 46.0 \n",
" 49.0 \n",
" \n",
" \n",
" 103 \n",
" USA \n",
" U.S.A. \n",
" 40.0 \n",
" 91.0 \n",
" 62.0 \n",
" 46.0 \n",
" 26.0 \n",
" 68.0 \n",
" \n",
" \n",
" 106 \n",
" URU \n",
" Uruguay \n",
" 61.0 \n",
" 36.0 \n",
" 38.0 \n",
" 100.0 \n",
" 26.0 \n",
" 53.0 \n",
" \n",
" \n",
" 107 \n",
" VEN \n",
" Venezuela \n",
" 81.0 \n",
" 12.0 \n",
" 73.0 \n",
" 76.0 \n",
" 16.0 \n",
" 100.0 \n",
" \n",
" \n",
" 108 \n",
" VIE \n",
" Vietnam \n",
" 70.0 \n",
" 20.0 \n",
" 40.0 \n",
" 30.0 \n",
" 57.0 \n",
" 35.0 \n",
" \n",
" \n",
"
\n",
"
65 rows × 8 columns
\n",
"
"
],
"text/plain": [
" ctr country pdi idv mas uai ltowvs ivr\n",
"0 AFE Africa East 64.0 27.0 41.0 52.0 32.0 40.0\n",
"1 AFW Africa West 77.0 20.0 46.0 54.0 9.0 78.0\n",
"5 ARA Arab countries 80.0 38.0 53.0 68.0 23.0 34.0\n",
"6 ARG Argentina 49.0 46.0 56.0 86.0 20.0 62.0\n",
"8 AUL Australia 38.0 90.0 61.0 51.0 21.0 71.0\n",
".. ... ... ... ... ... ... ... ...\n",
"102 TUR Turkey 66.0 37.0 45.0 85.0 46.0 49.0\n",
"103 USA U.S.A. 40.0 91.0 62.0 46.0 26.0 68.0\n",
"106 URU Uruguay 61.0 36.0 38.0 100.0 26.0 53.0\n",
"107 VEN Venezuela 81.0 12.0 73.0 76.0 16.0 100.0\n",
"108 VIE Vietnam 70.0 20.0 40.0 30.0 57.0 35.0\n",
"\n",
"[65 rows x 8 columns]"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df=df.dropna()\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [],
"source": [
"df=df.reset_index()"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [],
"source": [
"df1=df.iloc[:,3:9]\n"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"wcss = []\n",
"for i in range(1, 11):\n",
" model = KMeans(n_clusters=i, init='k-means++', max_iter=300, n_init=10, random_state=0)\n",
" model.fit(df1)\n",
" wcss.append(model.inertia_)\n",
"plt.plot(range(1, 11), wcss)\n",
"plt.title('Elbow Method')\n",
"plt.xlabel('Number of clusters')\n",
"plt.ylabel('WCSS')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[32.09090909 77.81818182 39.63636364 43.45454545 38.09090909 67.63636364]\n",
" [69.1 35.55 42.3 85.7 41.1 40.3 ]\n",
" [76.14285714 25.21428571 54.78571429 46.57142857 61.21428571 32.21428571]\n",
" [66.85714286 22.28571429 58. 75.28571429 16.42857143 84.14285714]\n",
" [45.07692308 65.07692308 56.15384615 73.38461538 72. 39. ]]\n"
]
}
],
"source": [
"kmeans = KMeans(n_clusters=5).fit(df1)\n",
"centroids = kmeans.cluster_centers_\n",
"print(centroids)"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [],
"source": [
"pred_y =kmeans.predict(df1)"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [],
"source": [
"df2=pred_y.shape"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(65, 9)"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.shape"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [],
"source": [
"df2=pd.DataFrame(pred_y, columns=['groups'])"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" groups \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 2 \n",
" \n",
" \n",
" 1 \n",
" 3 \n",
" \n",
" \n",
" 2 \n",
" 1 \n",
" \n",
" \n",
" 3 \n",
" 3 \n",
" \n",
" \n",
" 4 \n",
" 0 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 60 \n",
" 1 \n",
" \n",
" \n",
" 61 \n",
" 0 \n",
" \n",
" \n",
" 62 \n",
" 1 \n",
" \n",
" \n",
" 63 \n",
" 3 \n",
" \n",
" \n",
" 64 \n",
" 2 \n",
" \n",
" \n",
"
\n",
"
65 rows × 1 columns
\n",
"
"
],
"text/plain": [
" groups\n",
"0 2\n",
"1 3\n",
"2 1\n",
"3 3\n",
"4 0\n",
".. ...\n",
"60 1\n",
"61 0\n",
"62 1\n",
"63 3\n",
"64 2\n",
"\n",
"[65 rows x 1 columns]"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df2"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [],
"source": [
"XY2=df.merge(df2,left_index=True, right_index=True)"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" index \n",
" ctr \n",
" country \n",
" pdi \n",
" idv \n",
" mas \n",
" uai \n",
" ltowvs \n",
" ivr \n",
" groups \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 0 \n",
" AFE \n",
" Africa East \n",
" 64.0 \n",
" 27.0 \n",
" 41.0 \n",
" 52.0 \n",
" 32.0 \n",
" 40.0 \n",
" 2 \n",
" \n",
" \n",
" 1 \n",
" 1 \n",
" AFW \n",
" Africa West \n",
" 77.0 \n",
" 20.0 \n",
" 46.0 \n",
" 54.0 \n",
" 9.0 \n",
" 78.0 \n",
" 3 \n",
" \n",
" \n",
" 2 \n",
" 5 \n",
" ARA \n",
" Arab countries \n",
" 80.0 \n",
" 38.0 \n",
" 53.0 \n",
" 68.0 \n",
" 23.0 \n",
" 34.0 \n",
" 1 \n",
" \n",
" \n",
" 3 \n",
" 6 \n",
" ARG \n",
" Argentina \n",
" 49.0 \n",
" 46.0 \n",
" 56.0 \n",
" 86.0 \n",
" 20.0 \n",
" 62.0 \n",
" 3 \n",
" \n",
" \n",
" 4 \n",
" 8 \n",
" AUL \n",
" Australia \n",
" 38.0 \n",
" 90.0 \n",
" 61.0 \n",
" 51.0 \n",
" 21.0 \n",
" 71.0 \n",
" 0 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 60 \n",
" 102 \n",
" TUR \n",
" Turkey \n",
" 66.0 \n",
" 37.0 \n",
" 45.0 \n",
" 85.0 \n",
" 46.0 \n",
" 49.0 \n",
" 1 \n",
" \n",
" \n",
" 61 \n",
" 103 \n",
" USA \n",
" U.S.A. \n",
" 40.0 \n",
" 91.0 \n",
" 62.0 \n",
" 46.0 \n",
" 26.0 \n",
" 68.0 \n",
" 0 \n",
" \n",
" \n",
" 62 \n",
" 106 \n",
" URU \n",
" Uruguay \n",
" 61.0 \n",
" 36.0 \n",
" 38.0 \n",
" 100.0 \n",
" 26.0 \n",
" 53.0 \n",
" 1 \n",
" \n",
" \n",
" 63 \n",
" 107 \n",
" VEN \n",
" Venezuela \n",
" 81.0 \n",
" 12.0 \n",
" 73.0 \n",
" 76.0 \n",
" 16.0 \n",
" 100.0 \n",
" 3 \n",
" \n",
" \n",
" 64 \n",
" 108 \n",
" VIE \n",
" Vietnam \n",
" 70.0 \n",
" 20.0 \n",
" 40.0 \n",
" 30.0 \n",
" 57.0 \n",
" 35.0 \n",
" 2 \n",
" \n",
" \n",
"
\n",
"
65 rows × 10 columns
\n",
"
"
],
"text/plain": [
" index ctr country pdi idv mas uai ltowvs ivr groups\n",
"0 0 AFE Africa East 64.0 27.0 41.0 52.0 32.0 40.0 2\n",
"1 1 AFW Africa West 77.0 20.0 46.0 54.0 9.0 78.0 3\n",
"2 5 ARA Arab countries 80.0 38.0 53.0 68.0 23.0 34.0 1\n",
"3 6 ARG Argentina 49.0 46.0 56.0 86.0 20.0 62.0 3\n",
"4 8 AUL Australia 38.0 90.0 61.0 51.0 21.0 71.0 0\n",
".. ... ... ... ... ... ... ... ... ... ...\n",
"60 102 TUR Turkey 66.0 37.0 45.0 85.0 46.0 49.0 1\n",
"61 103 USA U.S.A. 40.0 91.0 62.0 46.0 26.0 68.0 0\n",
"62 106 URU Uruguay 61.0 36.0 38.0 100.0 26.0 53.0 1\n",
"63 107 VEN Venezuela 81.0 12.0 73.0 76.0 16.0 100.0 3\n",
"64 108 VIE Vietnam 70.0 20.0 40.0 30.0 57.0 35.0 2\n",
"\n",
"[65 rows x 10 columns]"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"XY2"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" index \n",
" ctr \n",
" country \n",
" pdi \n",
" idv \n",
" mas \n",
" uai \n",
" ltowvs \n",
" ivr \n",
" groups \n",
" \n",
" \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
"Empty DataFrame\n",
"Columns: [index, ctr, country, pdi, idv, mas, uai, ltowvs, ivr, groups]\n",
"Index: []"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"XY2[XY2.groups == 6]"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" index \n",
" ctr \n",
" country \n",
" pdi \n",
" idv \n",
" mas \n",
" uai \n",
" ltowvs \n",
" ivr \n",
" groups \n",
" \n",
" \n",
" \n",
" \n",
" 5 \n",
" 9 \n",
" AUT \n",
" Austria \n",
" 11.0 \n",
" 55.0 \n",
" 79.0 \n",
" 70.0 \n",
" 60.0 \n",
" 63.0 \n",
" 4 \n",
" \n",
" \n",
" 7 \n",
" 13 \n",
" BEL \n",
" Belgium \n",
" 65.0 \n",
" 75.0 \n",
" 54.0 \n",
" 94.0 \n",
" 82.0 \n",
" 57.0 \n",
" 4 \n",
" \n",
" \n",
" 15 \n",
" 28 \n",
" CZE \n",
" Czech Rep \n",
" 57.0 \n",
" 58.0 \n",
" 57.0 \n",
" 74.0 \n",
" 70.0 \n",
" 29.0 \n",
" 4 \n",
" \n",
" \n",
" 18 \n",
" 35 \n",
" EST \n",
" Estonia \n",
" 40.0 \n",
" 60.0 \n",
" 30.0 \n",
" 60.0 \n",
" 82.0 \n",
" 16.0 \n",
" 4 \n",
" \n",
" \n",
" 20 \n",
" 37 \n",
" FRA \n",
" France \n",
" 68.0 \n",
" 71.0 \n",
" 43.0 \n",
" 86.0 \n",
" 63.0 \n",
" 48.0 \n",
" 4 \n",
" \n",
" \n",
" 21 \n",
" 39 \n",
" GER \n",
" Germany \n",
" 35.0 \n",
" 67.0 \n",
" 66.0 \n",
" 65.0 \n",
" 83.0 \n",
" 40.0 \n",
" 4 \n",
" \n",
" \n",
" 25 \n",
" 46 \n",
" HUN \n",
" Hungary \n",
" 46.0 \n",
" 80.0 \n",
" 88.0 \n",
" 82.0 \n",
" 58.0 \n",
" 31.0 \n",
" 4 \n",
" \n",
" \n",
" 30 \n",
" 54 \n",
" ITA \n",
" Italy \n",
" 50.0 \n",
" 76.0 \n",
" 70.0 \n",
" 75.0 \n",
" 61.0 \n",
" 30.0 \n",
" 4 \n",
" \n",
" \n",
" 31 \n",
" 56 \n",
" JPN \n",
" Japan \n",
" 54.0 \n",
" 46.0 \n",
" 95.0 \n",
" 92.0 \n",
" 88.0 \n",
" 42.0 \n",
" 4 \n",
" \n",
" \n",
" 33 \n",
" 60 \n",
" LAT \n",
" Latvia \n",
" 44.0 \n",
" 70.0 \n",
" 9.0 \n",
" 63.0 \n",
" 69.0 \n",
" 13.0 \n",
" 4 \n",
" \n",
" \n",
" 34 \n",
" 61 \n",
" LIT \n",
" Lithuania \n",
" 42.0 \n",
" 60.0 \n",
" 19.0 \n",
" 65.0 \n",
" 82.0 \n",
" 16.0 \n",
" 4 \n",
" \n",
" \n",
" 35 \n",
" 62 \n",
" LUX \n",
" Luxembourg \n",
" 40.0 \n",
" 60.0 \n",
" 50.0 \n",
" 70.0 \n",
" 64.0 \n",
" 56.0 \n",
" 4 \n",
" \n",
" \n",
" 56 \n",
" 95 \n",
" SWI \n",
" Switzerland \n",
" 34.0 \n",
" 68.0 \n",
" 70.0 \n",
" 58.0 \n",
" 74.0 \n",
" 66.0 \n",
" 4 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" index ctr country pdi idv mas uai ltowvs ivr groups\n",
"5 9 AUT Austria 11.0 55.0 79.0 70.0 60.0 63.0 4\n",
"7 13 BEL Belgium 65.0 75.0 54.0 94.0 82.0 57.0 4\n",
"15 28 CZE Czech Rep 57.0 58.0 57.0 74.0 70.0 29.0 4\n",
"18 35 EST Estonia 40.0 60.0 30.0 60.0 82.0 16.0 4\n",
"20 37 FRA France 68.0 71.0 43.0 86.0 63.0 48.0 4\n",
"21 39 GER Germany 35.0 67.0 66.0 65.0 83.0 40.0 4\n",
"25 46 HUN Hungary 46.0 80.0 88.0 82.0 58.0 31.0 4\n",
"30 54 ITA Italy 50.0 76.0 70.0 75.0 61.0 30.0 4\n",
"31 56 JPN Japan 54.0 46.0 95.0 92.0 88.0 42.0 4\n",
"33 60 LAT Latvia 44.0 70.0 9.0 63.0 69.0 13.0 4\n",
"34 61 LIT Lithuania 42.0 60.0 19.0 65.0 82.0 16.0 4\n",
"35 62 LUX Luxembourg 40.0 60.0 50.0 70.0 64.0 56.0 4\n",
"56 95 SWI Switzerland 34.0 68.0 70.0 58.0 74.0 66.0 4"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"XY2[XY2.groups == 4]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [],
"source": [
"centroids = kmeans.cluster_centers_"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[32.09090909, 77.81818182, 39.63636364, 43.45454545, 38.09090909,\n",
" 67.63636364],\n",
" [69.1 , 35.55 , 42.3 , 85.7 , 41.1 ,\n",
" 40.3 ],\n",
" [76.14285714, 25.21428571, 54.78571429, 46.57142857, 61.21428571,\n",
" 32.21428571],\n",
" [66.85714286, 22.28571429, 58. , 75.28571429, 16.42857143,\n",
" 84.14285714],\n",
" [45.07692308, 65.07692308, 56.15384615, 73.38461538, 72. ,\n",
" 39. ]])"
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"centroids"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [],
"source": [
"df2=pd.DataFrame(pred_y, columns=['groups'])"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" groups \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 2 \n",
" \n",
" \n",
" 1 \n",
" 3 \n",
" \n",
" \n",
" 2 \n",
" 1 \n",
" \n",
" \n",
" 3 \n",
" 3 \n",
" \n",
" \n",
" 4 \n",
" 0 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 60 \n",
" 1 \n",
" \n",
" \n",
" 61 \n",
" 0 \n",
" \n",
" \n",
" 62 \n",
" 1 \n",
" \n",
" \n",
" 63 \n",
" 3 \n",
" \n",
" \n",
" 64 \n",
" 2 \n",
" \n",
" \n",
"
\n",
"
65 rows × 1 columns
\n",
"
"
],
"text/plain": [
" groups\n",
"0 2\n",
"1 3\n",
"2 1\n",
"3 3\n",
"4 0\n",
".. ...\n",
"60 1\n",
"61 0\n",
"62 1\n",
"63 3\n",
"64 2\n",
"\n",
"[65 rows x 1 columns]"
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df2"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 2
}