diff --git a/assignments/assignment_2/.ipynb_checkpoints/group_1_ass_2_2024_dan-checkpoint.ipynb b/assignments/assignment_2/.ipynb_checkpoints/group_1_ass_2_2024_dan-checkpoint.ipynb new file mode 100644 index 00000000..4c116edf --- /dev/null +++ b/assignments/assignment_2/.ipynb_checkpoints/group_1_ass_2_2024_dan-checkpoint.ipynb @@ -0,0 +1,1138 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "1b8dd22a", + "metadata": {}, + "source": [ + "## Assignment 2 - Group 1 \n", + "\n", + "First of all, we import the libraries to be used in this work:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "3d3a41c3", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd" + ] + }, + { + "cell_type": "markdown", + "id": "88921579", + "metadata": {}, + "source": [ + "#### Question 1.4 - Pandas\n", + "\n", + "1. Load Data:\n", + " Load the financial data available at this URL: https://raw.githubusercontent.com/datasets/finance-vix/main/data/vix-daily.csv\n", + " Use `pd.read_csv()` and the link to load the data into a DataFrame.\n", + " \n", + "We can do this simply with the following line of code." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "3a5deb8c", + "metadata": {}, + "outputs": [], + "source": [ + "df=pd.read_csv(r'https://raw.githubusercontent.com/datasets/finance-vix/main/data/vix-daily.csv')" + ] + }, + { + "cell_type": "markdown", + "id": "0a492b7c", + "metadata": {}, + "source": [ + "It can be seen that the imported DataFrame is the following:" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "83e9ebbd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DATEOPENHIGHLOWCLOSE
001/02/199017.2417.2417.2417.24
101/03/199018.1918.1918.1918.19
201/04/199019.2219.2219.2219.22
301/05/199020.1120.1120.1120.11
401/08/199020.2620.2620.2620.26
..................
857212/29/202312.5513.1912.3612.45
857301/02/202413.2214.2313.1013.20
857401/03/202413.3514.2213.3314.04
857501/04/202413.9314.2013.6414.13
857601/05/202414.2414.5813.2913.35
\n", + "

8577 rows × 5 columns

\n", + "
" + ], + "text/plain": [ + " DATE OPEN HIGH LOW CLOSE\n", + "0 01/02/1990 17.24 17.24 17.24 17.24\n", + "1 01/03/1990 18.19 18.19 18.19 18.19\n", + "2 01/04/1990 19.22 19.22 19.22 19.22\n", + "3 01/05/1990 20.11 20.11 20.11 20.11\n", + "4 01/08/1990 20.26 20.26 20.26 20.26\n", + "... ... ... ... ... ...\n", + "8572 12/29/2023 12.55 13.19 12.36 12.45\n", + "8573 01/02/2024 13.22 14.23 13.10 13.20\n", + "8574 01/03/2024 13.35 14.22 13.33 14.04\n", + "8575 01/04/2024 13.93 14.20 13.64 14.13\n", + "8576 01/05/2024 14.24 14.58 13.29 13.35\n", + "\n", + "[8577 rows x 5 columns]" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "markdown", + "id": "bf086d3e", + "metadata": {}, + "source": [ + "2. Explore Data:\n", + " a) Display the first five rows of the DataFrame.\n", + " b) Display the summary statistics of the DataFrame.\n", + "\n", + "To display only the first five rows of the DataFrame we use the `head` method as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "01b1093c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DATEOPENHIGHLOWCLOSE
001/02/199017.2417.2417.2417.24
101/03/199018.1918.1918.1918.19
201/04/199019.2219.2219.2219.22
301/05/199020.1120.1120.1120.11
401/08/199020.2620.2620.2620.26
\n", + "
" + ], + "text/plain": [ + " DATE OPEN HIGH LOW CLOSE\n", + "0 01/02/1990 17.24 17.24 17.24 17.24\n", + "1 01/03/1990 18.19 18.19 18.19 18.19\n", + "2 01/04/1990 19.22 19.22 19.22 19.22\n", + "3 01/05/1990 20.11 20.11 20.11 20.11\n", + "4 01/08/1990 20.26 20.26 20.26 20.26" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head(5)" + ] + }, + { + "cell_type": "markdown", + "id": "6901f31d", + "metadata": {}, + "source": [ + "To display a statistical summary we use the `describe` method as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "1d8124d3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
OPENHIGHLOWCLOSE
count8577.0000008577.0000008577.0000008577.000000
mean19.66645420.47436418.91488419.580374
std7.9790668.4399277.4698277.906214
min9.0100009.3100008.5600009.140000
25%13.94000014.54000013.40000013.880000
50%17.79000018.47000017.22000017.760000
75%23.10000023.96000022.32000022.990000
max82.69000089.53000072.76000082.690000
\n", + "
" + ], + "text/plain": [ + " OPEN HIGH LOW CLOSE\n", + "count 8577.000000 8577.000000 8577.000000 8577.000000\n", + "mean 19.666454 20.474364 18.914884 19.580374\n", + "std 7.979066 8.439927 7.469827 7.906214\n", + "min 9.010000 9.310000 8.560000 9.140000\n", + "25% 13.940000 14.540000 13.400000 13.880000\n", + "50% 17.790000 18.470000 17.220000 17.760000\n", + "75% 23.100000 23.960000 22.320000 22.990000\n", + "max 82.690000 89.530000 72.760000 82.690000" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.describe()" + ] + }, + { + "cell_type": "markdown", + "id": "af39315d", + "metadata": {}, + "source": [ + "3. Add Columns:\n", + " a) Add a new column 'Level' that categorizes the 'Close' column values into 'Low' (< 20), 'Medium' (20-30), and 'High' (>30). You need to make a filter to make this categorization. You can see below some suggestions how to do it.\n", + " b) Add a new column 'Year' extracted from the 'Date' column. You need to work with dates. You can do it directly workiwith the column splitting it or changing it to date format an dfollowing the below suggestion. \n", + " \n", + "We can use `pd.cut` as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "0a0f576c", + "metadata": {}, + "outputs": [], + "source": [ + "bins = [0, 20, 30, float('inf')]\n", + "labels = ['Low', 'Medium', 'High']\n", + "\n", + "df['LEVEL']=pd.cut(df['CLOSE'],bins=bins,labels=labels)" + ] + }, + { + "cell_type": "markdown", + "id": "6e34d25a", + "metadata": {}, + "source": [ + "The breakpoints of the classifier interval are specified in the `bins` list. The first interval is from 0 to 20, the second is from 20 to 30, and the last is from 30 onwards. The values of `df['CLOSE']` that are in the first interval will be classified within it and the same happens with the other values in other intervals. Finally, `Low` will be placed as a label if the observation was placed in the first interval, `Medium` if the observation was placed in the second interval, and `High` if the observation was placed in the last interval. This creates the required column called `LEVEL` (which is created using `df['LEVEL']=`). You can see it created in the following line:" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "e1707661", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DATEOPENHIGHLOWCLOSELEVEL
001/02/199017.2417.2417.2417.24Low
101/03/199018.1918.1918.1918.19Low
201/04/199019.2219.2219.2219.22Low
301/05/199020.1120.1120.1120.11Medium
401/08/199020.2620.2620.2620.26Medium
.....................
857212/29/202312.5513.1912.3612.45Low
857301/02/202413.2214.2313.1013.20Low
857401/03/202413.3514.2213.3314.04Low
857501/04/202413.9314.2013.6414.13Low
857601/05/202414.2414.5813.2913.35Low
\n", + "

8577 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " DATE OPEN HIGH LOW CLOSE LEVEL\n", + "0 01/02/1990 17.24 17.24 17.24 17.24 Low\n", + "1 01/03/1990 18.19 18.19 18.19 18.19 Low\n", + "2 01/04/1990 19.22 19.22 19.22 19.22 Low\n", + "3 01/05/1990 20.11 20.11 20.11 20.11 Medium\n", + "4 01/08/1990 20.26 20.26 20.26 20.26 Medium\n", + "... ... ... ... ... ... ...\n", + "8572 12/29/2023 12.55 13.19 12.36 12.45 Low\n", + "8573 01/02/2024 13.22 14.23 13.10 13.20 Low\n", + "8574 01/03/2024 13.35 14.22 13.33 14.04 Low\n", + "8575 01/04/2024 13.93 14.20 13.64 14.13 Low\n", + "8576 01/05/2024 14.24 14.58 13.29 13.35 Low\n", + "\n", + "[8577 rows x 6 columns]" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "markdown", + "id": "62c4dd20", + "metadata": {}, + "source": [ + "Now, to create the requested year column, we first obtain a series in datetime format with the following command:" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "73c2a385", + "metadata": {}, + "outputs": [], + "source": [ + "serie1=pd.to_datetime(df['DATE'])" + ] + }, + { + "cell_type": "markdown", + "id": "dd3ba38e", + "metadata": {}, + "source": [ + "Series1 contains in datetime format the string dates contained in `df['DATE']`\n", + "\n", + "Now we extract the year from each date with `dt.year`" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "fe9990fb", + "metadata": {}, + "outputs": [], + "source": [ + "serie2=serie1.dt.year" + ] + }, + { + "cell_type": "markdown", + "id": "a2e35ed3", + "metadata": {}, + "source": [ + "And finally we create the required column using the years obtained." + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "308f4c35", + "metadata": {}, + "outputs": [], + "source": [ + "df['YEAR']=serie2" + ] + }, + { + "cell_type": "markdown", + "id": "adb3331a", + "metadata": {}, + "source": [ + "4. Add Rows:\n", + " a) Add a new row with a date of your choice and fill the other columns with appropriate values. \n", + "\n", + "First we look at the end of the DataFrame:" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "9fd138c4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DATEOPENHIGHLOWCLOSELEVELYEAR
857212/29/202312.5513.1912.3612.45Low2023
857301/02/202413.2214.2313.1013.20Low2024
857401/03/202413.3514.2213.3314.04Low2024
857501/04/202413.9314.2013.6414.13Low2024
857601/05/202414.2414.5813.2913.35Low2024
\n", + "
" + ], + "text/plain": [ + " DATE OPEN HIGH LOW CLOSE LEVEL YEAR\n", + "8572 12/29/2023 12.55 13.19 12.36 12.45 Low 2023\n", + "8573 01/02/2024 13.22 14.23 13.10 13.20 Low 2024\n", + "8574 01/03/2024 13.35 14.22 13.33 14.04 Low 2024\n", + "8575 01/04/2024 13.93 14.20 13.64 14.13 Low 2024\n", + "8576 01/05/2024 14.24 14.58 13.29 13.35 Low 2024" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.tail()" + ] + }, + { + "cell_type": "markdown", + "id": "7f2f9ad9", + "metadata": {}, + "source": [ + "We then create the following dictionary using values close to the last observation." + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "a140b3a0", + "metadata": {}, + "outputs": [], + "source": [ + "t=pd.Series(pd.to_datetime('01/06/2024')).dt.year # With this we extract the year from the date that we assign to this observation that we want to add.\n", + "\n", + "r={'DATE':'01/06/2024','OPEN':[14],'HIGH':[14.5],'LOW':[13.5],'CLOSE':[13.9],'LEVEL':'Low','YEAR':np.float64(t)}" + ] + }, + { + "cell_type": "markdown", + "id": "ab731dcb", + "metadata": {}, + "source": [ + "We use the dictionary to create the DataFrame of the new observation. Likewise, we apply an appropriate index." + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "68497a2a", + "metadata": {}, + "outputs": [], + "source": [ + "new_row=pd.DataFrame(r,index=['8576'])" + ] + }, + { + "cell_type": "markdown", + "id": "a9f2dd18", + "metadata": {}, + "source": [ + "Now we add the observation contained in the previous DataFrame using the `append` method:" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "b710f487", + "metadata": {}, + "outputs": [], + "source": [ + "df=df.append(new_row)" + ] + }, + { + "cell_type": "markdown", + "id": "aba12207", + "metadata": {}, + "source": [ + "We see that the observation was added." + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "dfbb9157", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DATEOPENHIGHLOWCLOSELEVELYEAR
857301/02/202413.2214.2313.1013.20Low2024.0
857401/03/202413.3514.2213.3314.04Low2024.0
857501/04/202413.9314.2013.6414.13Low2024.0
857601/05/202414.2414.5813.2913.35Low2024.0
857601/06/202414.0014.5013.5013.90Low2024.0
\n", + "
" + ], + "text/plain": [ + " DATE OPEN HIGH LOW CLOSE LEVEL YEAR\n", + "8573 01/02/2024 13.22 14.23 13.10 13.20 Low 2024.0\n", + "8574 01/03/2024 13.35 14.22 13.33 14.04 Low 2024.0\n", + "8575 01/04/2024 13.93 14.20 13.64 14.13 Low 2024.0\n", + "8576 01/05/2024 14.24 14.58 13.29 13.35 Low 2024.0\n", + "8576 01/06/2024 14.00 14.50 13.50 13.90 Low 2024.0" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.tail()" + ] + }, + { + "cell_type": "markdown", + "id": "9e56b46d", + "metadata": {}, + "source": [ + "5. Analysis:\n", + " a) Calculate the average of the column 'Close' for each 'Year'. You need to group for this task.\n", + " b) Count the number of 'High', 'Medium', and 'Low' Level days in the data.\n", + " \n", + "With the `groupby` method we join the observations under the same year (introducing `['YEAR']` as an argument) and with the `mean` method we calculate the mean per year (only for the `CLOSE` column, which is achieved specifying `['CLOSE']`). In the following lines of code we do this:" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "38cb1870", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "YEAR\n", + "1990.0 23.063478\n", + "1991.0 18.373373\n", + "1992.0 15.452047\n", + "1993.0 12.686245\n", + "1994.0 13.925516\n", + "1995.0 12.388770\n", + "1996.0 16.442165\n", + "1997.0 22.363984\n", + "1998.0 25.602976\n", + "1999.0 24.371912\n", + "2000.0 23.315000\n", + "2001.0 25.749677\n", + "2002.0 27.292460\n", + "2003.0 21.982857\n", + "2004.0 15.479644\n", + "2005.0 12.807063\n", + "2006.0 12.810320\n", + "2007.0 17.535936\n", + "2008.0 32.695534\n", + "2009.0 31.479008\n", + "2010.0 22.548889\n", + "2011.0 24.202579\n", + "2012.0 17.801640\n", + "2013.0 14.230119\n", + "2014.0 14.175992\n", + "2015.0 16.674087\n", + "2016.0 15.825635\n", + "2017.0 11.090239\n", + "2018.0 16.639841\n", + "2019.0 15.387540\n", + "2020.0 29.251304\n", + "2021.0 19.656151\n", + "2022.0 25.637148\n", + "2023.0 16.849027\n", + "2024.0 13.724000\n", + "Name: CLOSE, dtype: float64" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "avg1=df.groupby(['YEAR'])\n", + "avg1['CLOSE'].mean()" + ] + }, + { + "cell_type": "markdown", + "id": "9b988a00", + "metadata": {}, + "source": [ + "Remember that we are only showing the average values that 'CLOSE' obtained for each year.\n", + "\n", + "Now, to count the number of `high`, `medium` and `low` level days in the data we do the following:\n", + "\n", + "We create a column of ones called N:" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "9e6fdbf3", + "metadata": {}, + "outputs": [], + "source": [ + "df['N']=1" + ] + }, + { + "cell_type": "markdown", + "id": "a89a2cae", + "metadata": {}, + "source": [ + "Now we group according to `LEVEL` with the `groupby` method. Then with the `sum` method we obtain the total of ones for each `LEVEL`. Note that each one represents a day, so the sum represents the total number of days for each `LEVEL`" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "2a6ece0e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "LEVEL\n", + "High 720\n", + "Low 5276\n", + "Medium 2582\n", + "Name: N, dtype: int64" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "avg2=df.groupby(['LEVEL'])\n", + "avg2['N'].sum()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.11.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/assignments/assignment_2/group_1_ass_2_2024_dan.ipynb b/assignments/assignment_2/group_1_ass_2_2024_dan.ipynb index 65203d94..4c116edf 100644 --- a/assignments/assignment_2/group_1_ass_2_2024_dan.ipynb +++ b/assignments/assignment_2/group_1_ass_2_2024_dan.ipynb @@ -1130,7 +1130,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.7" + "version": "3.11.5" } }, "nbformat": 4, diff --git a/assignments/assignment_3/.ipynb_checkpoints/group_1_ass_3_2024-checkpoint.ipynb b/assignments/assignment_3/.ipynb_checkpoints/group_1_ass_3_2024-checkpoint.ipynb new file mode 100644 index 00000000..38073518 --- /dev/null +++ b/assignments/assignment_3/.ipynb_checkpoints/group_1_ass_3_2024-checkpoint.ipynb @@ -0,0 +1,4109 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0cecbb3a", + "metadata": {}, + "source": [ + "## Assignment 3 - Group 1 \n", + "\n", + "1. Inspect this dataset `./_data/bogota_firms.xlsx` and show some descriptive statistics of it.\n", + "\n", + "First of all we import the libraries to use." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "ca2caa3b", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd \n", + "pd.set_option('display.float_format', '{:.2f}'.format) # With this all the numbers in the Dataframe will be shown with only 2 decimal places. This is to improve visualization." + ] + }, + { + "cell_type": "markdown", + "id": "8fa3e43a", + "metadata": {}, + "source": [ + "We read the provided dataset with pd.read_excel.\n", + "\n", + "**Note: Remember to change the directory to the location where the excel sheet is located on your computer.**" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "c21f98a7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Company name Latin alphabetCountry ISO codeCity\\nLatin AlphabetNACE Rev. 2, core code (4 digits)Consolidation codeLast avail. yearOperating revenue (Turnover)\\nth LCU 2023Operating revenue (Turnover)\\nth USD 2023Operating revenue (Turnover)\\nth LCU 2022Operating revenue (Turnover)\\nth USD 2022...Operating revenue (Turnover)\\nth LCU 2015Operating revenue (Turnover)\\nth USD 2015Operating revenue (Turnover)\\nth LCU 2014Operating revenue (Turnover)\\nth USD 2014Operating revenue (Turnover)\\nth LCU 2013Operating revenue (Turnover)\\nth USD 2013Operating revenue (Turnover)\\nth LCU 2012Operating revenue (Turnover)\\nth USD 2012Operating revenue (Turnover)\\nth LCU 2011Operating revenue (Turnover)\\nth USD 2011
0CONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE...COCALI4299.00U12022n.a.n.a.4769810991.60...5815591418465.305181316421656.862380083112379.76n.a.n.a.n.a.n.a.
1AGRET CARGA NACIONAL Y ESPECIAL S A SCOBOGOTA4941.00U12022n.a.n.a.4769796.50991.60...n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.
2DINASTIA INVERSIONES S ACOBARRANQUILLA4771.00U12007n.a.n.a.n.a.n.a....n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.
3BACKBONE COMUNICACIONES LTDACOBOGOTA6190.00U12022n.a.n.a.4769348.62991.51...1170331371.60874868.65365.68532706277.08n.a.n.a.n.a.n.a.
4MACAOL ESPINOSA SASCOBOGOTA6820.00U12022n.a.n.a.4769148991.47...16579952.64303235126.75245349127.62n.a.n.a.n.a.n.a.
..................................................................
9995GRADISPAN LTDACOBOGOTA4631.00U12011n.a.n.a.n.a.n.a....n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.1509000776.75
9996CONTACTO ESTRATEGICO OUTSOURCING CONTABLE S A SCOBOGOTA6920.00U12022n.a.n.a.3736339.15776.75...1012683.30321.541032912.11431.74920263.43478.67n.a.n.a.n.a.n.a.
9997JOSHUA CAFE IRLANDES S A SCOBOGOTA5610.00U12018n.a.n.a.n.a.n.a....n.a.n.a.1827067.15763.681353686704.11880349496.94293967151.32
9998PROYECTO AGUAS DEL BOSQUE S A SCOMEDELLIN4110.00U12021n.a.n.a.n.a.n.a....n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.
9999GRUPO INVERSIONES SYNERGY SASCOPOPAYAN4110.00U12020n.a.n.a.n.a.n.a....136867.8043.46n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.
\n", + "

10000 rows × 32 columns

\n", + "
" + ], + "text/plain": [ + " Company name Latin alphabet Country ISO code \\\n", + "0 CONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE... CO \n", + "1 AGRET CARGA NACIONAL Y ESPECIAL S A S CO \n", + "2 DINASTIA INVERSIONES S A CO \n", + "3 BACKBONE COMUNICACIONES LTDA CO \n", + "4 MACAOL ESPINOSA SAS CO \n", + "... ... ... \n", + "9995 GRADISPAN LTDA CO \n", + "9996 CONTACTO ESTRATEGICO OUTSOURCING CONTABLE S A S CO \n", + "9997 JOSHUA CAFE IRLANDES S A S CO \n", + "9998 PROYECTO AGUAS DEL BOSQUE S A S CO \n", + "9999 GRUPO INVERSIONES SYNERGY SAS CO \n", + "\n", + " City\\nLatin Alphabet NACE Rev. 2, core code (4 digits) \\\n", + "0 CALI 4299.00 \n", + "1 BOGOTA 4941.00 \n", + "2 BARRANQUILLA 4771.00 \n", + "3 BOGOTA 6190.00 \n", + "4 BOGOTA 6820.00 \n", + "... ... ... \n", + "9995 BOGOTA 4631.00 \n", + "9996 BOGOTA 6920.00 \n", + "9997 BOGOTA 5610.00 \n", + "9998 MEDELLIN 4110.00 \n", + "9999 POPAYAN 4110.00 \n", + "\n", + " Consolidation code Last avail. year \\\n", + "0 U1 2022 \n", + "1 U1 2022 \n", + "2 U1 2007 \n", + "3 U1 2022 \n", + "4 U1 2022 \n", + "... ... ... \n", + "9995 U1 2011 \n", + "9996 U1 2022 \n", + "9997 U1 2018 \n", + "9998 U1 2021 \n", + "9999 U1 2020 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2023 \\\n", + "0 n.a. \n", + "1 n.a. \n", + "2 n.a. \n", + "3 n.a. \n", + "4 n.a. \n", + "... ... \n", + "9995 n.a. \n", + "9996 n.a. \n", + "9997 n.a. \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2023 \\\n", + "0 n.a. \n", + "1 n.a. \n", + "2 n.a. \n", + "3 n.a. \n", + "4 n.a. \n", + "... ... \n", + "9995 n.a. \n", + "9996 n.a. \n", + "9997 n.a. \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2022 \\\n", + "0 4769810 \n", + "1 4769796.50 \n", + "2 n.a. \n", + "3 4769348.62 \n", + "4 4769148 \n", + "... ... \n", + "9995 n.a. \n", + "9996 3736339.15 \n", + "9997 n.a. \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2022 ... \\\n", + "0 991.60 ... \n", + "1 991.60 ... \n", + "2 n.a. ... \n", + "3 991.51 ... \n", + "4 991.47 ... \n", + "... ... ... \n", + "9995 n.a. ... \n", + "9996 776.75 ... \n", + "9997 n.a. ... \n", + "9998 n.a. ... \n", + "9999 n.a. ... \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2015 \\\n", + "0 58155914 \n", + "1 n.a. \n", + "2 n.a. \n", + "3 1170331 \n", + "4 165799 \n", + "... ... \n", + "9995 n.a. \n", + "9996 1012683.30 \n", + "9997 n.a. \n", + "9998 n.a. \n", + "9999 136867.80 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2015 \\\n", + "0 18465.30 \n", + "1 n.a. \n", + "2 n.a. \n", + "3 371.60 \n", + "4 52.64 \n", + "... ... \n", + "9995 n.a. \n", + "9996 321.54 \n", + "9997 n.a. \n", + "9998 n.a. \n", + "9999 43.46 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2014 \\\n", + "0 51813164 \n", + "1 n.a. \n", + "2 n.a. \n", + "3 874868.65 \n", + "4 303235 \n", + "... ... \n", + "9995 n.a. \n", + "9996 1032912.11 \n", + "9997 1827067.15 \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2014 \\\n", + "0 21656.86 \n", + "1 n.a. \n", + "2 n.a. \n", + "3 365.68 \n", + "4 126.75 \n", + "... ... \n", + "9995 n.a. \n", + "9996 431.74 \n", + "9997 763.68 \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2013 \\\n", + "0 23800831 \n", + "1 n.a. \n", + "2 n.a. \n", + "3 532706 \n", + "4 245349 \n", + "... ... \n", + "9995 n.a. \n", + "9996 920263.43 \n", + "9997 1353686 \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2013 \\\n", + "0 12379.76 \n", + "1 n.a. \n", + "2 n.a. \n", + "3 277.08 \n", + "4 127.62 \n", + "... ... \n", + "9995 n.a. \n", + "9996 478.67 \n", + "9997 704.11 \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2012 \\\n", + "0 n.a. \n", + "1 n.a. \n", + "2 n.a. \n", + "3 n.a. \n", + "4 n.a. \n", + "... ... \n", + "9995 n.a. \n", + "9996 n.a. \n", + "9997 880349 \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2012 \\\n", + "0 n.a. \n", + "1 n.a. \n", + "2 n.a. \n", + "3 n.a. \n", + "4 n.a. \n", + "... ... \n", + "9995 n.a. \n", + "9996 n.a. \n", + "9997 496.94 \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2011 \\\n", + "0 n.a. \n", + "1 n.a. \n", + "2 n.a. \n", + "3 n.a. \n", + "4 n.a. \n", + "... ... \n", + "9995 1509000 \n", + "9996 n.a. \n", + "9997 293967 \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2011 \n", + "0 n.a. \n", + "1 n.a. \n", + "2 n.a. \n", + "3 n.a. \n", + "4 n.a. \n", + "... ... \n", + "9995 776.75 \n", + "9996 n.a. \n", + "9997 151.32 \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + "[10000 rows x 32 columns]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df=pd.read_excel(r\"C:\\Users\\HP\\Documents\\qlab\\QLAB_Summer_Python\\_data\\bogota_firms.xlsx\",sheet_name='Results')\n", + "df.drop(columns=df.columns[0]) # This removes the first column that was named 'Unnamed: 0' in the excel file. It is not interesting to see it" + ] + }, + { + "cell_type": "markdown", + "id": "ec94f409", + "metadata": {}, + "source": [ + "Before viewing the descriptive statistics of the dataset it is convenient to replace the `n.a.` strings by numpy type objects that represent a `np.nan`. We do this using `df.replace`:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "07166282", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Company name Latin alphabetCountry ISO codeCity\\nLatin AlphabetNACE Rev. 2, core code (4 digits)Consolidation codeLast avail. yearOperating revenue (Turnover)\\nth LCU 2023Operating revenue (Turnover)\\nth USD 2023Operating revenue (Turnover)\\nth LCU 2022Operating revenue (Turnover)\\nth USD 2022...Operating revenue (Turnover)\\nth LCU 2015Operating revenue (Turnover)\\nth USD 2015Operating revenue (Turnover)\\nth LCU 2014Operating revenue (Turnover)\\nth USD 2014Operating revenue (Turnover)\\nth LCU 2013Operating revenue (Turnover)\\nth USD 2013Operating revenue (Turnover)\\nth LCU 2012Operating revenue (Turnover)\\nth USD 2012Operating revenue (Turnover)\\nth LCU 2011Operating revenue (Turnover)\\nth USD 2011
0CONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE...COCALI4299.00U12022NaNNaN4769810.00991.60...58155914.0018465.3051813164.0021656.8623800831.0012379.76NaNNaNNaNNaN
1AGRET CARGA NACIONAL Y ESPECIAL S A SCOBOGOTA4941.00U12022NaNNaN4769796.50991.60...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
2DINASTIA INVERSIONES S ACOBARRANQUILLA4771.00U12007NaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
3BACKBONE COMUNICACIONES LTDACOBOGOTA6190.00U12022NaNNaN4769348.62991.51...1170331.00371.60874868.65365.68532706.00277.08NaNNaNNaNNaN
4MACAOL ESPINOSA SASCOBOGOTA6820.00U12022NaNNaN4769148.00991.47...165799.0052.64303235.00126.75245349.00127.62NaNNaNNaNNaN
..................................................................
9995GRADISPAN LTDACOBOGOTA4631.00U12011NaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaN1509000.00776.75
9996CONTACTO ESTRATEGICO OUTSOURCING CONTABLE S A SCOBOGOTA6920.00U12022NaNNaN3736339.15776.75...1012683.30321.541032912.11431.74920263.43478.67NaNNaNNaNNaN
9997JOSHUA CAFE IRLANDES S A SCOBOGOTA5610.00U12018NaNNaNNaNNaN...NaNNaN1827067.15763.681353686.00704.11880349.00496.94293967.00151.32
9998PROYECTO AGUAS DEL BOSQUE S A SCOMEDELLIN4110.00U12021NaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
9999GRUPO INVERSIONES SYNERGY SASCOPOPAYAN4110.00U12020NaNNaNNaNNaN...136867.8043.46NaNNaNNaNNaNNaNNaNNaNNaN
\n", + "

10000 rows × 32 columns

\n", + "
" + ], + "text/plain": [ + " Company name Latin alphabet Country ISO code \\\n", + "0 CONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE... CO \n", + "1 AGRET CARGA NACIONAL Y ESPECIAL S A S CO \n", + "2 DINASTIA INVERSIONES S A CO \n", + "3 BACKBONE COMUNICACIONES LTDA CO \n", + "4 MACAOL ESPINOSA SAS CO \n", + "... ... ... \n", + "9995 GRADISPAN LTDA CO \n", + "9996 CONTACTO ESTRATEGICO OUTSOURCING CONTABLE S A S CO \n", + "9997 JOSHUA CAFE IRLANDES S A S CO \n", + "9998 PROYECTO AGUAS DEL BOSQUE S A S CO \n", + "9999 GRUPO INVERSIONES SYNERGY SAS CO \n", + "\n", + " City\\nLatin Alphabet NACE Rev. 2, core code (4 digits) \\\n", + "0 CALI 4299.00 \n", + "1 BOGOTA 4941.00 \n", + "2 BARRANQUILLA 4771.00 \n", + "3 BOGOTA 6190.00 \n", + "4 BOGOTA 6820.00 \n", + "... ... ... \n", + "9995 BOGOTA 4631.00 \n", + "9996 BOGOTA 6920.00 \n", + "9997 BOGOTA 5610.00 \n", + "9998 MEDELLIN 4110.00 \n", + "9999 POPAYAN 4110.00 \n", + "\n", + " Consolidation code Last avail. year \\\n", + "0 U1 2022 \n", + "1 U1 2022 \n", + "2 U1 2007 \n", + "3 U1 2022 \n", + "4 U1 2022 \n", + "... ... ... \n", + "9995 U1 2011 \n", + "9996 U1 2022 \n", + "9997 U1 2018 \n", + "9998 U1 2021 \n", + "9999 U1 2020 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2023 \\\n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "... ... \n", + "9995 NaN \n", + "9996 NaN \n", + "9997 NaN \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2023 \\\n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "... ... \n", + "9995 NaN \n", + "9996 NaN \n", + "9997 NaN \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2022 \\\n", + "0 4769810.00 \n", + "1 4769796.50 \n", + "2 NaN \n", + "3 4769348.62 \n", + "4 4769148.00 \n", + "... ... \n", + "9995 NaN \n", + "9996 3736339.15 \n", + "9997 NaN \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2022 ... \\\n", + "0 991.60 ... \n", + "1 991.60 ... \n", + "2 NaN ... \n", + "3 991.51 ... \n", + "4 991.47 ... \n", + "... ... ... \n", + "9995 NaN ... \n", + "9996 776.75 ... \n", + "9997 NaN ... \n", + "9998 NaN ... \n", + "9999 NaN ... \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2015 \\\n", + "0 58155914.00 \n", + "1 NaN \n", + "2 NaN \n", + "3 1170331.00 \n", + "4 165799.00 \n", + "... ... \n", + "9995 NaN \n", + "9996 1012683.30 \n", + "9997 NaN \n", + "9998 NaN \n", + "9999 136867.80 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2015 \\\n", + "0 18465.30 \n", + "1 NaN \n", + "2 NaN \n", + "3 371.60 \n", + "4 52.64 \n", + "... ... \n", + "9995 NaN \n", + "9996 321.54 \n", + "9997 NaN \n", + "9998 NaN \n", + "9999 43.46 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2014 \\\n", + "0 51813164.00 \n", + "1 NaN \n", + "2 NaN \n", + "3 874868.65 \n", + "4 303235.00 \n", + "... ... \n", + "9995 NaN \n", + "9996 1032912.11 \n", + "9997 1827067.15 \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2014 \\\n", + "0 21656.86 \n", + "1 NaN \n", + "2 NaN \n", + "3 365.68 \n", + "4 126.75 \n", + "... ... \n", + "9995 NaN \n", + "9996 431.74 \n", + "9997 763.68 \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2013 \\\n", + "0 23800831.00 \n", + "1 NaN \n", + "2 NaN \n", + "3 532706.00 \n", + "4 245349.00 \n", + "... ... \n", + "9995 NaN \n", + "9996 920263.43 \n", + "9997 1353686.00 \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2013 \\\n", + "0 12379.76 \n", + "1 NaN \n", + "2 NaN \n", + "3 277.08 \n", + "4 127.62 \n", + "... ... \n", + "9995 NaN \n", + "9996 478.67 \n", + "9997 704.11 \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2012 \\\n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "... ... \n", + "9995 NaN \n", + "9996 NaN \n", + "9997 880349.00 \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2012 \\\n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "... ... \n", + "9995 NaN \n", + "9996 NaN \n", + "9997 496.94 \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2011 \\\n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "... ... \n", + "9995 1509000.00 \n", + "9996 NaN \n", + "9997 293967.00 \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2011 \n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "... ... \n", + "9995 776.75 \n", + "9996 NaN \n", + "9997 151.32 \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + "[10000 rows x 32 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.replace('n.a.', np.nan, inplace=True)\n", + "df.drop(columns=df.columns[0]) # With this we see the dataset again without the first column." + ] + }, + { + "cell_type": "markdown", + "id": "e7079d70", + "metadata": {}, + "source": [ + "With the `describe` method we obtain some descriptive statistics of the provided dataset. For example, we obtain the total number of observations, the mean, the standard error" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "03fafb10", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
NACE Rev. 2, core code (4 digits)Last avail. yearOperating revenue (Turnover)\\nth LCU 2023Operating revenue (Turnover)\\nth USD 2023Operating revenue (Turnover)\\nth LCU 2022Operating revenue (Turnover)\\nth USD 2022Operating revenue (Turnover)\\nth LCU 2021Operating revenue (Turnover)\\nth USD 2021Operating revenue (Turnover)\\nth LCU 2020Operating revenue (Turnover)\\nth USD 2020...Operating revenue (Turnover)\\nth LCU 2015Operating revenue (Turnover)\\nth USD 2015Operating revenue (Turnover)\\nth LCU 2014Operating revenue (Turnover)\\nth USD 2014Operating revenue (Turnover)\\nth LCU 2013Operating revenue (Turnover)\\nth USD 2013Operating revenue (Turnover)\\nth LCU 2012Operating revenue (Turnover)\\nth USD 2012Operating revenue (Turnover)\\nth LCU 2011Operating revenue (Turnover)\\nth USD 2011
count9650.0010000.0055.0055.007454.007454.006271.006271.005246.005246.00...4357.004357.003994.003994.003922.003922.001468.001468.001064.001064.00
mean4842.842020.303583175.12874.734220827.26877.843937949.01989.942954496.61857.55...3155237.671001.923416878.911428.363623917.751884.962810937.981586.422684463.991382.04
std2167.763.67272228.7458.96445583.6792.4620368882.775116.247380230.282142.37...17512166.225560.3542882675.8417924.0940679698.3921159.1318713756.2610563.566710600.983454.25
min100.002005.003095243.01776.771805655.53375.380.010.00100.000.03...1.000.005.000.000.000.000.000.000.000.00
25%4299.002021.003382512.31824.053945187.20820.482460785.78619.151497158.29434.60...1111425.00353.31949732.76396.97851848.66443.08832639.00470.01901411.75464.00
50%4690.002022.003491920.01872.844187058.19870.603272327.00822.642463450.86715.10...2119000.00672.811944780.92813.361706075.06887.401574790.37888.941629500.00838.78
75%6120.002022.003797109.26923.414471133.63929.943901790.50980.063343052.20970.44...3190847.561013.142993913.301251.402801967.581457.412479645.551399.712353684.581216.02
max9609.002023.004102740.33979.9325722872.155347.571397339800.00350988.12279274000.0081068.83...1090990994.00346404.632675146830.001118157.372017636054.001049452.85697567000.00393763.04114176000.0058771.81
\n", + "

8 rows × 28 columns

\n", + "
" + ], + "text/plain": [ + " NACE Rev. 2, core code (4 digits) Last avail. year \\\n", + "count 9650.00 10000.00 \n", + "mean 4842.84 2020.30 \n", + "std 2167.76 3.67 \n", + "min 100.00 2005.00 \n", + "25% 4299.00 2021.00 \n", + "50% 4690.00 2022.00 \n", + "75% 6120.00 2022.00 \n", + "max 9609.00 2023.00 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2023 \\\n", + "count 55.00 \n", + "mean 3583175.12 \n", + "std 272228.74 \n", + "min 3095243.01 \n", + "25% 3382512.31 \n", + "50% 3491920.01 \n", + "75% 3797109.26 \n", + "max 4102740.33 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2023 \\\n", + "count 55.00 \n", + "mean 874.73 \n", + "std 58.96 \n", + "min 776.77 \n", + "25% 824.05 \n", + "50% 872.84 \n", + "75% 923.41 \n", + "max 979.93 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2022 \\\n", + "count 7454.00 \n", + "mean 4220827.26 \n", + "std 445583.67 \n", + "min 1805655.53 \n", + "25% 3945187.20 \n", + "50% 4187058.19 \n", + "75% 4471133.63 \n", + "max 25722872.15 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2022 \\\n", + "count 7454.00 \n", + "mean 877.84 \n", + "std 92.46 \n", + "min 375.38 \n", + "25% 820.48 \n", + "50% 870.60 \n", + "75% 929.94 \n", + "max 5347.57 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2021 \\\n", + "count 6271.00 \n", + "mean 3937949.01 \n", + "std 20368882.77 \n", + "min 0.01 \n", + "25% 2460785.78 \n", + "50% 3272327.00 \n", + "75% 3901790.50 \n", + "max 1397339800.00 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2021 \\\n", + "count 6271.00 \n", + "mean 989.94 \n", + "std 5116.24 \n", + "min 0.00 \n", + "25% 619.15 \n", + "50% 822.64 \n", + "75% 980.06 \n", + "max 350988.12 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2020 \\\n", + "count 5246.00 \n", + "mean 2954496.61 \n", + "std 7380230.28 \n", + "min 100.00 \n", + "25% 1497158.29 \n", + "50% 2463450.86 \n", + "75% 3343052.20 \n", + "max 279274000.00 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2020 ... \\\n", + "count 5246.00 ... \n", + "mean 857.55 ... \n", + "std 2142.37 ... \n", + "min 0.03 ... \n", + "25% 434.60 ... \n", + "50% 715.10 ... \n", + "75% 970.44 ... \n", + "max 81068.83 ... \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2015 \\\n", + "count 4357.00 \n", + "mean 3155237.67 \n", + "std 17512166.22 \n", + "min 1.00 \n", + "25% 1111425.00 \n", + "50% 2119000.00 \n", + "75% 3190847.56 \n", + "max 1090990994.00 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2015 \\\n", + "count 4357.00 \n", + "mean 1001.92 \n", + "std 5560.35 \n", + "min 0.00 \n", + "25% 353.31 \n", + "50% 672.81 \n", + "75% 1013.14 \n", + "max 346404.63 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2014 \\\n", + "count 3994.00 \n", + "mean 3416878.91 \n", + "std 42882675.84 \n", + "min 5.00 \n", + "25% 949732.76 \n", + "50% 1944780.92 \n", + "75% 2993913.30 \n", + "max 2675146830.00 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2014 \\\n", + "count 3994.00 \n", + "mean 1428.36 \n", + "std 17924.09 \n", + "min 0.00 \n", + "25% 396.97 \n", + "50% 813.36 \n", + "75% 1251.40 \n", + "max 1118157.37 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2013 \\\n", + "count 3922.00 \n", + "mean 3623917.75 \n", + "std 40679698.39 \n", + "min 0.00 \n", + "25% 851848.66 \n", + "50% 1706075.06 \n", + "75% 2801967.58 \n", + "max 2017636054.00 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2013 \\\n", + "count 3922.00 \n", + "mean 1884.96 \n", + "std 21159.13 \n", + "min 0.00 \n", + "25% 443.08 \n", + "50% 887.40 \n", + "75% 1457.41 \n", + "max 1049452.85 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2012 \\\n", + "count 1468.00 \n", + "mean 2810937.98 \n", + "std 18713756.26 \n", + "min 0.00 \n", + "25% 832639.00 \n", + "50% 1574790.37 \n", + "75% 2479645.55 \n", + "max 697567000.00 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2012 \\\n", + "count 1468.00 \n", + "mean 1586.42 \n", + "std 10563.56 \n", + "min 0.00 \n", + "25% 470.01 \n", + "50% 888.94 \n", + "75% 1399.71 \n", + "max 393763.04 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2011 \\\n", + "count 1064.00 \n", + "mean 2684463.99 \n", + "std 6710600.98 \n", + "min 0.00 \n", + "25% 901411.75 \n", + "50% 1629500.00 \n", + "75% 2353684.58 \n", + "max 114176000.00 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2011 \n", + "count 1064.00 \n", + "mean 1382.04 \n", + "std 3454.25 \n", + "min 0.00 \n", + "25% 464.00 \n", + "50% 838.78 \n", + "75% 1216.02 \n", + "max 58771.81 \n", + "\n", + "[8 rows x 28 columns]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.drop(columns=df.columns[0]).describe()" + ] + }, + { + "cell_type": "markdown", + "id": "34092f39", + "metadata": {}, + "source": [ + "2. Reshape the dataset from wide to long at year level. Drop columns if they are in Dollars. Keep columns from Operating revenue (Turnover) th LCU 2023 to the end, and the name of the firm.\n", + "\n", + "First we will remove the columns that have operating revenues in dollars." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "cf38f8ab", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['Operating revenue (Turnover)\\nth LCU 2023', 'Operating revenue (Turnover)\\nth USD 2023', 'Operating revenue (Turnover)\\nth LCU 2022', 'Operating revenue (Turnover)\\nth USD 2022', 'Operating revenue (Turnover)\\nth LCU 2021', 'Operating revenue (Turnover)\\nth USD 2021', 'Operating revenue (Turnover)\\nth LCU 2020', 'Operating revenue (Turnover)\\nth USD 2020', 'Operating revenue (Turnover)\\nth LCU 2019', 'Operating revenue (Turnover)\\nth USD 2019', 'Operating revenue (Turnover)\\nth LCU 2018', 'Operating revenue (Turnover)\\nth USD 2018', 'Operating revenue (Turnover)\\nth LCU 2017', 'Operating revenue (Turnover)\\nth USD 2017', 'Operating revenue (Turnover)\\nth LCU 2016', 'Operating revenue (Turnover)\\nth USD 2016', 'Operating revenue (Turnover)\\nth LCU 2015', 'Operating revenue (Turnover)\\nth USD 2015', 'Operating revenue (Turnover)\\nth LCU 2014', 'Operating revenue (Turnover)\\nth USD 2014', 'Operating revenue (Turnover)\\nth LCU 2013', 'Operating revenue (Turnover)\\nth USD 2013', 'Operating revenue (Turnover)\\nth LCU 2012', 'Operating revenue (Turnover)\\nth USD 2012', 'Operating revenue (Turnover)\\nth LCU 2011', 'Operating revenue (Turnover)\\nth USD 2011']\n" + ] + } + ], + "source": [ + "# We get the index of the first column of the set of columns that we want to extract.\n", + "a=list(df.columns).index('Operating revenue (Turnover)\\nth LCU 2023')\n", + "\n", + "# We use 'a' to create a list containing the names of the columns we are interested in.\n", + "b=list(df.columns[a:])\n", + "\n", + "# We printed the list to see what names we got.\n", + "print(b)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "37989099", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Operating revenue (Turnover)\\nth LCU 2023',\n", + " 'Operating revenue (Turnover)\\nth LCU 2022',\n", + " 'Operating revenue (Turnover)\\nth LCU 2021',\n", + " 'Operating revenue (Turnover)\\nth LCU 2020',\n", + " 'Operating revenue (Turnover)\\nth LCU 2019',\n", + " 'Operating revenue (Turnover)\\nth LCU 2018',\n", + " 'Operating revenue (Turnover)\\nth LCU 2017',\n", + " 'Operating revenue (Turnover)\\nth LCU 2016',\n", + " 'Operating revenue (Turnover)\\nth LCU 2015',\n", + " 'Operating revenue (Turnover)\\nth LCU 2014',\n", + " 'Operating revenue (Turnover)\\nth LCU 2013',\n", + " 'Operating revenue (Turnover)\\nth LCU 2012',\n", + " 'Operating revenue (Turnover)\\nth LCU 2011']" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# You can see that the even-numbered elements of the list contain the names of the columns we want to delete. Then, we extract the even elements in the following list.\n", + "b1=b[1::2]\n", + "\n", + "# With the 'drop' method we eliminate the columns whose name is in the previous list created.\n", + "df1=df.drop(columns=b1)\n", + "\n", + "# And with the following we can see that the columns denominated in dollars have been eliminated:\n", + "list(df1.columns[a:])" + ] + }, + { + "cell_type": "markdown", + "id": "a6a92c6e", + "metadata": {}, + "source": [ + "Now with the following loop we rename each year's operating profits as the year they were recorded. We do this to abbreviate the names (which only differ by year)." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "4ba1b6f2", + "metadata": {}, + "outputs": [], + "source": [ + "n,k=df1.shape # With this we make 'n' contain the total number of rows and 'k' the total number of columns.\n", + "\n", + "for x in range(a,k):\n", + " y=df1.columns[x][-4:] # With this we extract the last 4 strings of the column name, which conveniently forms the year of record.\n", + " df1.rename(columns={df1.columns[x]:y},inplace=True) # With this we rename each column. Now they are named only by the year in which they were registered." + ] + }, + { + "cell_type": "markdown", + "id": "3286e4d0", + "metadata": {}, + "source": [ + "We now reshape the data set from width to length at the year level. For this we use `pd.melt`" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "4c8b001d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0YearOR
01.002023NaN
12.002023NaN
23.002023NaN
34.002023NaN
45.002023NaN
............
1299959996.0020111509000.00
1299969997.002011NaN
1299979998.002011293967.00
1299989999.002011NaN
12999910000.002011NaN
\n", + "

130000 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 Year OR\n", + "0 1.00 2023 NaN\n", + "1 2.00 2023 NaN\n", + "2 3.00 2023 NaN\n", + "3 4.00 2023 NaN\n", + "4 5.00 2023 NaN\n", + "... ... ... ...\n", + "129995 9996.00 2011 1509000.00\n", + "129996 9997.00 2011 NaN\n", + "129997 9998.00 2011 293967.00\n", + "129998 9999.00 2011 NaN\n", + "129999 10000.00 2011 NaN\n", + "\n", + "[130000 rows x 3 columns]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# We use the first column (which is conveniently an index) as the identifier of each observation. That's why 'id_vars=[df1.columns[0]]'\n", + "# value_vars contains the names of the columns to be reshaped.\n", + "# var_name is the column that will contain the names of the collapsed columns. We call it 'Year' because the only difference between the data of column names is the year (and it only contains the years).\n", + "# The observations of each column are reshaped into a single column called 'OR', which stands for 'operating revenue' for short.\n", + "\n", + "df2=pd.melt(df1, id_vars=[df1.columns[0]], value_vars=list(df1.columns[a:k]), var_name='Year',value_name='OR') \n", + "\n", + "# We see the result.\n", + "df2" + ] + }, + { + "cell_type": "markdown", + "id": "861d33f5", + "metadata": {}, + "source": [ + "As you can see, a Dataframe long at year level has been generated. However, it is missing the column that indicates the name of the company to which each observation corresponds (and it is the only column that the problem also asks to maintain). So, we implement the following:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "21528867", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0YearORCompany name Latin alphabet
01.002023NaNCONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE...
12.002023NaNAGRET CARGA NACIONAL Y ESPECIAL S A S
23.002023NaNDINASTIA INVERSIONES S A
34.002023NaNBACKBONE COMUNICACIONES LTDA
45.002023NaNMACAOL ESPINOSA SAS
...............
1299959996.0020111509000.00GRADISPAN LTDA
1299969997.002011NaNCONTACTO ESTRATEGICO OUTSOURCING CONTABLE S A S
1299979998.002011293967.00JOSHUA CAFE IRLANDES S A S
1299989999.002011NaNPROYECTO AGUAS DEL BOSQUE S A S
12999910000.002011NaNGRUPO INVERSIONES SYNERGY SAS
\n", + "

130000 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 Year OR \\\n", + "0 1.00 2023 NaN \n", + "1 2.00 2023 NaN \n", + "2 3.00 2023 NaN \n", + "3 4.00 2023 NaN \n", + "4 5.00 2023 NaN \n", + "... ... ... ... \n", + "129995 9996.00 2011 1509000.00 \n", + "129996 9997.00 2011 NaN \n", + "129997 9998.00 2011 293967.00 \n", + "129998 9999.00 2011 NaN \n", + "129999 10000.00 2011 NaN \n", + "\n", + " Company name Latin alphabet \n", + "0 CONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE... \n", + "1 AGRET CARGA NACIONAL Y ESPECIAL S A S \n", + "2 DINASTIA INVERSIONES S A \n", + "3 BACKBONE COMUNICACIONES LTDA \n", + "4 MACAOL ESPINOSA SAS \n", + "... ... \n", + "129995 GRADISPAN LTDA \n", + "129996 CONTACTO ESTRATEGICO OUTSOURCING CONTABLE S A S \n", + "129997 JOSHUA CAFE IRLANDES S A S \n", + "129998 PROYECTO AGUAS DEL BOSQUE S A S \n", + "129999 GRUPO INVERSIONES SYNERGY SAS \n", + "\n", + "[130000 rows x 4 columns]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df3=df[df.columns[0:2]] # We extract the first and second columns from the original Dataframe.\n", + "\n", + "# Now we do the following merge. The first column serves as the identifier of each observation (that's why 'on=df1.columns[0]').\n", + "df4=pd.merge(df2, df3, on=df1.columns[0], how='left')\n", + "df4" + ] + }, + { + "cell_type": "markdown", + "id": "e76733dc", + "metadata": {}, + "source": [ + "Now we make the following arrangements to the DataFrame to improve its visualization:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "2bcbaeb2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Company name Latin alphabetYearOR
0GRUPO INVERSIONES SYNERGY SAS2011.00NaN
1FUNDACION SOCIAL FAMILIA MUJER ADOLESCENCIA IN...2011.00NaN
2MANRIQUE Y COMPANIA S C S2011.001764000.00
3INVERSIONESFORMENTERA LTDA2011.00NaN
4LUZ Y DECORACION S A S2011.00NaN
............
129995GM COMUNICACIONES Y ELECTRONICA SAS2023.00NaN
129996COR INGENIEROS SAS2023.00NaN
129997INFORDATA S A S2023.00NaN
129998LABORVIDA IPS S A S2023.00NaN
129999CONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE...2023.00NaN
\n", + "

130000 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " Company name Latin alphabet Year OR\n", + "0 GRUPO INVERSIONES SYNERGY SAS 2011.00 NaN\n", + "1 FUNDACION SOCIAL FAMILIA MUJER ADOLESCENCIA IN... 2011.00 NaN\n", + "2 MANRIQUE Y COMPANIA S C S 2011.00 1764000.00\n", + "3 INVERSIONESFORMENTERA LTDA 2011.00 NaN\n", + "4 LUZ Y DECORACION S A S 2011.00 NaN\n", + "... ... ... ...\n", + "129995 GM COMUNICACIONES Y ELECTRONICA SAS 2023.00 NaN\n", + "129996 COR INGENIEROS SAS 2023.00 NaN\n", + "129997 INFORDATA S A S 2023.00 NaN\n", + "129998 LABORVIDA IPS S A S 2023.00 NaN\n", + "129999 CONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE... 2023.00 NaN\n", + "\n", + "[130000 rows x 3 columns]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# We delete the first column since it is no longer useful to us.\n", + "df4.drop(columns=df4.columns[0],inplace=True)\n", + "\n", + "# We reorder the columns as follows:\n", + "order=[df4.columns[2],df4.columns[0],df4.columns[1]]\n", + "df4=df4[order]\n", + "\n", + "# We sort the data according to the year in ascending order.\n", + "df4=df4.sort_values(by='Year', ascending=True)\n", + "\n", + "# We reset the index.\n", + "df4=df4.reset_index(drop=True)\n", + "\n", + "# We convert the year data from string format to numpy format. This will be useful for the following questions as we will see.\n", + "df4['Year']=pd.DataFrame(np.float64(df4.iloc[:,1]))\n", + "\n", + "# Let's see that the requested Dataframe was obtained.\n", + "df4" + ] + }, + { + "cell_type": "markdown", + "id": "573eb7c9", + "metadata": {}, + "source": [ + "3. Rename the columns and use short names for each column. This new name should be shorter than 20 characters.\n", + "\n", + "Some of the Dataframe columns obtained previously were already renamed with a more appropriate name. Remember that 'Year' indicates the year in which the operating revenue was recorded and 'OR' indicates the operating revenue in local currency obtained in a given year (this name is a way of abbreviating 'operating revenue').\n", + "\n", + "All that remains is to rename the column called 'Company name Latin alphabet' and we do it as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "1fccd8a9", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CompanyYearOR
0GRUPO INVERSIONES SYNERGY SAS2011.00NaN
1FUNDACION SOCIAL FAMILIA MUJER ADOLESCENCIA IN...2011.00NaN
2MANRIQUE Y COMPANIA S C S2011.001764000.00
3INVERSIONESFORMENTERA LTDA2011.00NaN
4LUZ Y DECORACION S A S2011.00NaN
............
129995GM COMUNICACIONES Y ELECTRONICA SAS2023.00NaN
129996COR INGENIEROS SAS2023.00NaN
129997INFORDATA S A S2023.00NaN
129998LABORVIDA IPS S A S2023.00NaN
129999CONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE...2023.00NaN
\n", + "

130000 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " Company Year OR\n", + "0 GRUPO INVERSIONES SYNERGY SAS 2011.00 NaN\n", + "1 FUNDACION SOCIAL FAMILIA MUJER ADOLESCENCIA IN... 2011.00 NaN\n", + "2 MANRIQUE Y COMPANIA S C S 2011.00 1764000.00\n", + "3 INVERSIONESFORMENTERA LTDA 2011.00 NaN\n", + "4 LUZ Y DECORACION S A S 2011.00 NaN\n", + "... ... ... ...\n", + "129995 GM COMUNICACIONES Y ELECTRONICA SAS 2023.00 NaN\n", + "129996 COR INGENIEROS SAS 2023.00 NaN\n", + "129997 INFORDATA S A S 2023.00 NaN\n", + "129998 LABORVIDA IPS S A S 2023.00 NaN\n", + "129999 CONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE... 2023.00 NaN\n", + "\n", + "[130000 rows x 3 columns]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df4.rename(columns={df4.columns[0]:'Company'},inplace=True)\n", + "df4" + ] + }, + { + "cell_type": "markdown", + "id": "c011a5f2", + "metadata": {}, + "source": [ + "Where 'company' then indicates the name of the company.\n", + "\n", + "You can see that a DataFrame was obtained with columns with shorter names that respect what was indicated in the question." + ] + }, + { + "cell_type": "markdown", + "id": "61f05737", + "metadata": {}, + "source": [ + "4. Generate a dictionary with the definition of all the columns in your dataset.\n", + "\n", + "The definition of each column was already explained in the previous question. So, we take these definitions and put them into the following required dictionary." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "7388cab0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'Company': 'Company name',\n", + " 'Year': 'Year in which operating revenue was recorded',\n", + " 'OR': 'Operating revenue (in local currency units)'}" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dic={df4.columns[0]:'Company name',\n", + " df4.columns[1]:'Year in which operating revenue was recorded',\n", + " df4.columns[2]:'Operating revenue (in local currency units)'}\n", + "dic" + ] + }, + { + "cell_type": "markdown", + "id": "6c133f83", + "metadata": {}, + "source": [ + "5. Generate a function named as calling_data that take as input the `name of the firm or list of names (firm_name)` and `(start_year, end_year)`. The function should return a tuple with a dataframe with the same format as the one resulting from task 1-4, and your dictionary of columns. The function should work without `end_year`. It means it only takes `start_year`.\n", + "\n", + "In the following lines of code we implement the required function. The detailed explanation is shown on the same lines." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "ba1f84a2", + "metadata": {}, + "outputs": [], + "source": [ + "def call_data(firm_name,start_year,end_year=2023,df4=df4): # By setting 'end_year=2023' we make this value equal to 2023 by default and do not necessarily require an input. \n", + " # By setting 'df4=df4' we make this value equal to df4 by default and does not necessarily require an input.\n", + " # In the following loop each name is taken from the name list 'firm_name':\n", + " for name in firm_name: \n", + " \n", + " # With this we verify if the company name exists within the dataset.\n", + " c=(df4['Company'] == name).any() # c is True if the company name exists, False otherwise.\n", + " \n", + " if c==False: \n", + " # If c is False, then the following is printed and the function terminates.\n", + " result='One of the company names entered is not found within the dataset.'\n", + " print(result)\n", + " return result\n", + " \n", + " else:\n", + " # If c is True, then the following lines continue executing.\n", + " \n", + " # With this we verify if star_year has a value that exists within the years that the DataFrame has for the ORs.\n", + " d=(df4['Year'] == start_year).any() # d is True if the start year exists, False otherwise.\n", + " \n", + " # With this we verify if end_year has a value that exists within the years that the DataFrame has for the ORs.\n", + " d_=(df4['Year'] == end_year).any() # d_ is True if the end year exists, False otherwise.\n", + " \n", + " if d==False or d_==False:\n", + " # If any of the years does not exist in the dataset, then the following is printed and the function terminates.\n", + " result='One of the years entered is not found in the dataset.'\n", + " print(result)\n", + " return result\n", + " \n", + " else:\n", + " # If both years entered exist, then it continues executing.\n", + " \n", + " # e contains a pd.series of booleans where is True if the company name is different from the one entered.\n", + " e=df4['Company']!=name\n", + " # With pd.drop and using e we delete all the rows that contain companies different from the one entered.\n", + " df5=df4.drop(df4[e].index) # df.drop removes rows where the boolean series has True.\n", + " \n", + " # f contains a pd.string of booleans where is True if the year is less than the starting year entered.\n", + " f=df5['Year']end_year\n", + " # With pd.drop and using g we eliminate all the rows that contain years greater than the final year entered.\n", + " df5=df5.drop(df5[g].index)\n", + " \n", + " if firm_name.index(name)==0:\n", + " # If the company name is the first in the list of names entered then the following Dataframe is created.\n", + " df6=df5.copy(deep=True) # The created Dataframe is a copy of the previously obtained dataframe.\n", + " else:\n", + " # If the company name is not the first in the list of names entered, then we concatenate it to the first Dataframe created from df5.copy\n", + " df6=pd.concat([df6,df5],ignore_index=True) # with ignore_index=True we reset the index every time we concatenate.\n", + " \n", + " # We create the required tuple, the first element will be the Dataframe with the indicated format, and the second element is the previously created dictionary.\n", + " result=(df6,dic)\n", + " \n", + " return result" + ] + }, + { + "cell_type": "markdown", + "id": "a7fb3eb6", + "metadata": {}, + "source": [ + "With the function created, let's now look at some company names that we can enter" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "ee47fc59", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['EXPRESOS ESPECIALES EL DORADO S A EXPRELDORADO S A',\n", + " 'DISECONST S A S',\n", + " 'REDISEG LTDA',\n", + " 'LAURA ROBLEDO S A S',\n", + " 'AMIAGRO PALMA S A S',\n", + " 'HUMAN FOREST SAS',\n", + " 'LATIN PRODUCTS S A S',\n", + " 'M&M SOLUCIONES EN CONCRETO S A',\n", + " 'EXTRA GAS DE COLOMBIA S A S',\n", + " 'AGROUNIDOS EL PALMAR S A S',\n", + " 'CM&M ASESORES DE SEGURO LTDA',\n", + " 'COMERCIALIZADORA LEON P SAS',\n", + " 'PATOLOGIA Y CITOLOGIA S A S',\n", + " 'INVERBODEGON S A S',\n", + " 'FUQUEN GUZMAN DIANA',\n", + " 'DOPPELMAYR COLOMBIA S A S',\n", + " 'C I EBENEZER SAS',\n", + " 'GAS Y DRYWALL S A S',\n", + " 'PAEZ MUNOZ LUDWIG',\n", + " 'TRANSCONSULT SUCURSAL COLOMBIA',\n", + " 'COOPERATIVA POLISERVICIOS DE SALUD',\n", + " 'MULTIFLEJES SAS',\n", + " 'CAUCAPLAST SAS',\n", + " 'ENGINEERING PROJECTS AND SERVICES S A S',\n", + " 'ACQUA VITRUVIO S A S',\n", + " 'GLOBAL INDTECH S A S',\n", + " 'PROMOTORA CAFFETO S A S',\n", + " 'DISTRIFORKYS SAS',\n", + " 'HDR OBRAS CIVILES S A S',\n", + " 'DISTRICOSTURA LTDA',\n", + " 'CLICKARTE SAS',\n", + " 'JIBC S A S',\n", + " 'PARALIA SAS',\n", + " 'COMERCIAL INGEOELECTRICA SAS',\n", + " 'CONSTRUCTORA EXCELSIOR S A S',\n", + " 'INVERSIONES OMAGU S A S',\n", + " 'COLOMBO GAS SAS E S P',\n", + " 'BKF INTERNATIONAL S A',\n", + " 'LUCKIA COLOMBIA S A S',\n", + " 'COMESTIBLES AMO S A S',\n", + " 'ARRESERVIS S A S',\n", + " 'AGROFESA S A S',\n", + " 'DISTRIBUCIONES DE LA CASA DE BOSCONIA S A S ZOMAC',\n", + " 'DOBLON S A S',\n", + " 'ORGANIZACION MINERVA S A S',\n", + " 'MEDEPCO S A S',\n", + " 'COLEGIO INTERNACIONAL SEK COLOMBIA S A S',\n", + " 'RECUPERADORES DE MATERIALES INDUSTRIALES SAS ESP',\n", + " 'SERVICIOS DE MANTENIMIENTO SIGLO XXI LTDA',\n", + " 'TRANSPORTES MARTINEZ RIOS S A S',\n", + " 'COOPERATIVA NACIONAL DE AHORRO Y CREDITO CREAR COOPERATIVA OFICI',\n", + " 'CENTRO EXCELENCIA DE CUIDADOS EN SALUD ESENCIAL INSTITUCION PRESTADORA DE SERVICIOS DE SALUD S A S',\n", + " 'POLIMEROS DEL CARIBE S A S',\n", + " 'HOME TV COMUNICACIONES S A S',\n", + " 'AGROPECUARIA JR BRASILIA S A S',\n", + " 'GALVEZ GIRALDO NOEL',\n", + " 'PRESQUIM SAS',\n", + " 'GURUCEAGA S C S',\n", + " 'CHOCOLATEROS ALIADOS DE COLOMBIA SAS',\n", + " 'GRUPO QUIVERCY SAS',\n", + " 'JARDINES URBANOS S A S',\n", + " 'C TORO E HIJOS S A S',\n", + " 'SUPLIDORES TECHNIKOS S A',\n", + " 'BAREKE TEX S A S',\n", + " 'MEJIA RESTREPO NICOLAS ESTEBAN',\n", + " 'INVERSIONES ICATU S A S',\n", + " 'NOVAG S A S',\n", + " 'BARGOL ASSETS S A COLOMBIA',\n", + " 'DISTRIBUCIONES FERRE MAKRO S A S',\n", + " 'LA MAYOR VIDRIERA S A S',\n", + " 'RITUAL BOTANICO S A S',\n", + " 'PULIDO GARZON MANUEL FACUNDO',\n", + " 'FERRETERIA SURTINDUSTRIAS LTDA EN LIQUIDACION',\n", + " 'MOTOS Y MOTORES J D S A S',\n", + " 'MATERIALES TRINIDAD S A S',\n", + " 'MADERAS Y DECORACIONES H S S A S',\n", + " 'PORTAFOLIO INTEGRAL DEL MILENIO S A S',\n", + " 'ZULUAGA ATEHORTUA GUSTAVO',\n", + " 'MERQUEO INTERNATIONAL S.A.S',\n", + " 'HSE GROUP SAS',\n", + " 'CREARQ SOLUCIONES ARQUITECTONICAS SAS',\n", + " 'GRUPO EMPRESARIAL LA SEBASTIANA SAS',\n", + " 'GONZALEZ JORGE ELIECER',\n", + " 'INGENIERIA Y ESPECIALIDADES S A S',\n", + " 'GRUPO DE INVERSIONISTAS DE LA COSTA S A S',\n", + " 'ANTIOQUENA DE TRANSPORTES S A S',\n", + " 'IDEKA S A S',\n", + " 'RECUPERADORA DE PAPEL JARAMILLO GUASCA Y COMPANIA S C S',\n", + " 'CALL CENTER MALL S A S',\n", + " 'GRUPO INVERSIONES BM S A S',\n", + " 'RIVERA ROZO RODOLFO ANTONIO',\n", + " 'BIFOCUS SAS',\n", + " 'ALVAREZ BOTERO SAMUEL',\n", + " 'MAXIVISION S A S IPS',\n", + " 'FERRETERIA LA FERIA DE LA LAMINA LTDA',\n", + " 'CDC MINERALES S A S',\n", + " 'GRUPO CREACION Y DESARROLLO S A S',\n", + " 'GO GOMEZ S A S',\n", + " 'RECAMPO S A S',\n", + " 'B R G SOCIEDAD DE INVERSIONES LTDA',\n", + " 'PROMOTORA PARQUE DE GALILEA S A S',\n", + " 'CHD INGENIEROS S A S',\n", + " 'SENSO PACK S A S',\n", + " 'DELBEN S A S',\n", + " 'ALVAREZ SALDARRIAGA JHON ALEXANDER',\n", + " 'MARTINEZ ZULUAGA CAROLINA',\n", + " 'PRODUCTORA NACIONAL DE PLASTICOS S A S',\n", + " 'BENDECK SUAREZ ALFREDO',\n", + " 'DISTRITEEX S A S',\n", + " 'EMPRESAS PUBLICAS MUNICIPALES DE CANDELARIA S A S E S P',\n", + " 'CARBONES MAYORCA SAS',\n", + " 'OPERACION DE TRANSPORTE S A S',\n", + " 'PESQUERA VALLEMAR S A S',\n", + " 'COLOMBIANA DE PROYECTOS DE INGENIERIA & CONSTRUCCIONES S A S',\n", + " 'DEPOR INTERNATIONAL S A S',\n", + " 'ROTORCOIL S A S',\n", + " 'INVERSIONES BELLAVISTA Y COMPANIA S C S',\n", + " 'SALUD SEMILLAS SAS',\n", + " 'PROMO SALUD LTDA',\n", + " 'LUIS ENRIQUE MONTES PALACIO',\n", + " 'COMERCIALIZADORA INTERNACIONAL PROCESADORA DE PRODUCTOS AGROPECUARIOS S A',\n", + " 'ESTIBAS Y MADERAS LA PAZ S A S',\n", + " 'CONSTRUEMPLEO S A S',\n", + " 'CLINICA CEREN S A S',\n", + " 'FIDELITY S A S',\n", + " 'TOBAR Y TOBAR S A S',\n", + " 'COMPANIA DE INVERSIONES CONSTRUGANADERA SP S A S',\n", + " 'SUMAS IGUALES Y JURIDICAS S A S',\n", + " 'DALETH S C S',\n", + " 'E R A TEXTIL S A S',\n", + " 'ADRIANNA LIEVANO FASHION GROUP S A',\n", + " 'INVERSIONES SHESH SAS',\n", + " 'DROGUERIAS FAMI PHARMA S A S',\n", + " 'SOCIEDAD DE ADMINISTRACION DE INMUEBLES E INVERSIONES S A S',\n", + " 'CLINICA SANTA TERESITA DEL NINO JESUS S A',\n", + " 'CARPINTERO GONZALEZ JORGE ENRIQUE',\n", + " 'OSTEOAMERICA S A S',\n", + " 'IMPORLUZ S A S',\n", + " 'GEN MIL S A',\n", + " 'XIMA CONSTRUCCIONES Y CONSULTORIAS S A S',\n", + " 'CARLOS ALBERTO RIOS',\n", + " 'INGENIERIA MECANICA Y OBRA CIVILES SOLUCIONES S IMC SOLUCIONES S A S',\n", + " 'COMERCIALIZADORA DE AUTOPARTES FANAPARTS S A S',\n", + " 'CALZADO SCHOTTY SPORT S A S',\n", + " 'IQN S A S',\n", + " 'DISENOS Y CONSTRUCCIONES DEL CARIBE S A S ZOMAC',\n", + " 'HANETEC S A',\n", + " 'GALVIS SAN PORCINOS S A S',\n", + " 'ORBITRANS S A',\n", + " 'MAQUINAS Y JUEGOS DE CORDOBA S A S',\n", + " 'TODO SERVICIO S V S A S DISUELTA Y LIQUIDADA',\n", + " 'AGUADO WIND COLOMBIA SAS',\n", + " 'EXCAVACIONES Y MAQUINARIAS S A S',\n", + " 'PRAXIS & TECHNOLOGY GROUP S A S',\n", + " 'MAS CONSTRUCTORA LTDA',\n", + " 'DISTRISER DEL CARIBE LTDA',\n", + " 'M&H SALUD S A S',\n", + " 'GRUPO EMPRESARIAL DIAMANTE S A S',\n", + " 'CONSTRUCTORA INICIUM S A S',\n", + " 'WEBUILD S P A SUCURSAL COLOMBIA',\n", + " 'MEJIA ESCUDERO MARIO ALBERTO',\n", + " 'PORRAS BERMUDEZ OSWALDO',\n", + " 'HOMIL LTDA',\n", + " 'PROMOTORA PARQUE DEL SOL S A S',\n", + " 'ARCA DISTRIBUCIONES S A S',\n", + " 'FASTER SERVICES COLOMBIA S A S',\n", + " 'GROPIUS INNOVACION SOCIEDAD POR ACCIONES SIMPLIFICADA',\n", + " 'CENTRO DE ESPECIALIDADES MEDICO QUIRURGICAS LTDA',\n", + " 'COMERCIALIZADORA DE SUMINISTROS INDUSTRIALES Y PETROLEROS SAS',\n", + " 'URBISA S A',\n", + " 'GUSTAVO PERRY ARQUITECTOS S A S',\n", + " 'IN CARTAGENA GUIDE S A S',\n", + " 'SOFTESTING S A S',\n", + " 'CASTRO RAMIREZ DELIO',\n", + " 'COMERCIALIZADORA A & O S A',\n", + " 'SUMINISTROS Y SERVICIOS PETROLEROS SAS',\n", + " 'AUTOSANDOVAL SAS',\n", + " 'CEGID COLOMBIA LTDA',\n", + " 'OSPINA LEON ERNESTO',\n", + " 'TECNICAS EN INVENTARIOS Y ALMACENAMIENTO SAS TIAL',\n", + " 'HOTEL TERMALES TIERRA VIVA S A S',\n", + " 'IVAN PADILLA DENTAL CORPORATION S A S',\n", + " 'INDUSTRIAS DUCOR S A S',\n", + " 'CONSTRUCCIONES VIAS Y MAQUINARIA S A S',\n", + " 'VICENTE ARNULFO VALLEJO MERA',\n", + " 'SOLUCIONES INTEGRALES VER S A S E P',\n", + " 'PFV & COMPANIA LTDA',\n", + " 'IMCO GROUP S A S',\n", + " 'SPAZI S A EN LIQUIDACION',\n", + " 'C I GRAFICAS COLORAMA S A S EN REORGANIZACION',\n", + " 'AVANCE URBANO PROYECTOS Y CONSTRUCIONES LTDA',\n", + " 'AGROPISCICOLA LA HERMOSA S A S',\n", + " 'CONSORCIO PCP',\n", + " 'EMPRESA DE SERVICIOS PARA EL DESARROLLO ZOMAC SAS',\n", + " 'COOPERATIVA DE TRABAJO ASOCIADO SANAR CTA',\n", + " 'EDUCATIVA BLENDEX S A S',\n", + " 'COMERCIALIZADORA MASTER PAYS SAS',\n", + " 'CANTEX S A S',\n", + " 'DIRECTA LICITACIONES LTDA',\n", + " 'GESTION CLINICA ADMINISTRATIVA SOLUCIONES ESTRATEGICAS SAS',\n", + " 'SERVITRANSPORTE GC SAS',\n", + " 'SOLUCIONES MULTIFER S A S',\n", + " 'GAAT SECURITY GROUP LTDA',\n", + " 'EXCAVACIONES Y TRANSPORTES ARANGO S A S',\n", + " 'CONSTRUCCIONES URIBE S A S',\n", + " 'INTERMEDIANO COLOMBIA SAS',\n", + " 'DISTRIBUIDORA GRAN PROCALZADO SAS',\n", + " 'LIBRO ARTE S A S',\n", + " 'SOLUCIONES SML SAS',\n", + " 'MICROCIRCUITOS SAS',\n", + " 'CONSTRUCCOR S A S',\n", + " 'KROPOLIS S A S',\n", + " 'J&M DISTRIBUIDOR FERRETERO SAS',\n", + " 'CASINO LA MISERICORDIA S A S',\n", + " 'CABETO SAS',\n", + " 'HCP CONSTRUCCIONES SAS',\n", + " 'AGENCIA DE ADUANAS SIA TRADE S A NIVEL 1',\n", + " 'HIDROREHABILITAR SALUD SAS',\n", + " 'COMPANIA DE TRANSPORTES TERRESTRES S A S',\n", + " 'INVERSIONES PINEDA AGUIRRE Y COMPANIA S EN C A',\n", + " 'LA MAQUINA S A S ZOMAC',\n", + " 'HOYOS BOJANINI CAROLINA',\n", + " 'DST S A S',\n", + " 'EMPRESA SOCIAL DEL ESTADO NUESTRA SENORA DE LAS NIEVES',\n", + " 'EMCOLEN S A S E S P',\n", + " 'Q PROPERTIES S A S',\n", + " 'LUBRIMAQ S A S',\n", + " 'INNOVA PHARMA S A S',\n", + " 'FIARA GIRLS CONFECCIONES S A S',\n", + " 'MESEROS UNIVERSITARIOS PRECOOPERATIVA DE TRABAJO ASOCIADO LIMITADA',\n", + " 'BEARDOW ADAMS S A S',\n", + " 'CENTRO EMPRESARIAL CARRERA 49C S A S',\n", + " 'RODRIGUEZ RICO VICTOR JULIO',\n", + " 'BARBOSA ROJAS OSCAR HERNAN',\n", + " 'JIMENEZ LEE Y CIA LTDA',\n", + " 'NARANJO QUINTERO RODRIGO',\n", + " 'TRANSPORTE ESCOLAR HERCA S A S',\n", + " 'P3 SEGURIDAD LTDA',\n", + " 'CONSTRUCTORES Y CONSULTORES MPV S A S',\n", + " 'SANTO ROSARIO SPORT S A S',\n", + " 'Z F CONSTRUCCIONES S A EN LIQUIDACION',\n", + " 'ELECTRICOS SURAMERICA SAS',\n", + " 'ARRENDAMIENTOS Y AVALUOS UMBRAL S A S',\n", + " 'POWERS COMPANY S A S',\n", + " 'GRUPO EMPRESARIAL DE AUTOPARTES SAS',\n", + " 'SIBARITA DEL MAR S A S',\n", + " 'AGROINDUSTRIA GREEN L&C S A S',\n", + " 'MALUIRES Y COMPANIA S C S',\n", + " 'SUPERMERCADO RINDEMAS DE LA ESTACION S A S',\n", + " 'LEMON ARQUITECTURA S A S',\n", + " 'ITECO CONSULTORES S A S BIC',\n", + " 'CALDERON FERNANDEZ FLOR MARINA',\n", + " 'CONSTRUCTORA OBREVAL S A',\n", + " 'GRAFETTA EDITORES Y COMPANIA S A S',\n", + " 'TIMBA S A S',\n", + " 'GALY IMPRESORES S A S',\n", + " 'LAZADAS LTDA',\n", + " 'SERVICIOS ELECTRICOS TECNICOS INGENIERIA SETI SAS',\n", + " 'JAH INGENIERIA Y SUMINISTROS SAS',\n", + " 'DISTRIBUIDORA ZAHER S A S',\n", + " 'INVERSIONES MUNDIALES UNO A S A S',\n", + " 'JEMA CONSULTING AND CONSTRUCTION COMPANY S A S ZOMAC',\n", + " 'COLOMBIA GRAIN S A S',\n", + " 'SAN MIGUEL E D S S A S',\n", + " 'MONCAYO CAVIEDES ERNESTO EFRAIN',\n", + " 'CONSTRUCTORA SOYTA S A S',\n", + " 'MARTINEZ MARTINEZ CARLOS ARTURO',\n", + " 'TECNOTUBOS S A S',\n", + " 'SILVIA MOSQUERA FIERRO',\n", + " 'GLOBALGLASS J H S A S',\n", + " 'DIAZ JUNCA JORGE ENRIQUE',\n", + " 'PULIDO FORERO LUIS EDUARDO',\n", + " 'ALAMBIQUE MEDELLIN S A S',\n", + " 'FLOREZ GONZALEZ JOHN EDWAR',\n", + " 'MYP GROUP S A S',\n", + " 'MAFCCA S A S',\n", + " 'INVERSIONES CASABRAVA S A S EN REORGANIZACION',\n", + " 'TRANSPORTES GALE S A S',\n", + " 'GRUPO TURISTICO COLOMBIANO OVER S A S',\n", + " 'AGROALDANA AAA SAS',\n", + " 'MEDICINA NUCLEAR DIAGNOSTICA S A S',\n", + " 'PLASTICOS EL BUEN PRECIO S A S',\n", + " 'INVERSIONES DE VILLE S A S',\n", + " 'NORBEY ARIAS ARIAS',\n", + " 'ENKI COLOMBIA S A S',\n", + " 'SANOLIVAR S A S',\n", + " 'HABITAR CON ESTILO IMPORTADORA Y CONSTRUCTORA SAS',\n", + " 'TRANSPORTES OSORIO RIOS S A S',\n", + " 'JP SOLUCIONES COLOMBIA S A S',\n", + " 'TIENDAS RS S A S',\n", + " 'E S E HOSPITAL SAN PABLO',\n", + " 'CREDI PHONE COLOMBIA S A S',\n", + " 'ECOVENTANAS SAS EN LIQUIDACION',\n", + " 'COOPERATIVA DE LECHEROS DE LAS VEREDAS ASOCIADAS CARBONERA ALTA Y BAJA DE GUATAVITA',\n", + " 'TORO VALENCIA JOSE EDUARDO',\n", + " 'INCOM GROUP S A S',\n", + " 'T M DE COLOMBIA S A S',\n", + " 'ACTIVE SYSTEMS LIMITADA',\n", + " 'CEMENTOS ORIENTE S A S ZOMAC',\n", + " 'BRULEE BY KELVY & YADI S A S',\n", + " 'JOAQUIN GUILLERMO JIMENEZ URREA',\n", + " 'GRUPO MG S A S',\n", + " 'VESUVIUS COLOMBIA S A S',\n", + " 'COPARTESA S A S',\n", + " 'RODRIGO ALBERTO QUINTERO HERRERA',\n", + " 'GUILLERMO RHENALS LABORATORIO DENTAL S A S',\n", + " 'SUELAS ALDEX SAS',\n", + " 'CARIBBEAN AMERICAN SHIPPING AGENCY S A S',\n", + " 'EMPRESA SOCIAL DEL ESTADO RAFAEL SALGADO MARIPI',\n", + " 'LHM INGENIERIA SAS',\n", + " 'ESSENTIAL COLOMBIA SAS',\n", + " 'PUNTOCOREANO IMPORTACIONES S A S',\n", + " 'FRANQUICIAS Y OPERACIONES S FRYO S A S',\n", + " 'MIGUEL MERCHAN SEPULVEDA',\n", + " 'FUNDACION SOCIAL FAMILIA MUJER ADOLESCENCIA INFANCIA CON AMOR',\n", + " 'ROKK3R LABS COLOMBIA S A S EN LIQUIDACION',\n", + " 'TURISMO ELITE SAS',\n", + " 'SOCIEDAD AGRICOLA LA CEIBA S A S',\n", + " 'INVERSIONES FERINES S A S',\n", + " 'CICAFER S A S',\n", + " 'INSUMODA S A S',\n", + " 'SERVYMAQ S A S',\n", + " 'BRANDEMBURG 7 SAS',\n", + " 'OPERADORA MINERA DE SAMACA S A S',\n", + " 'MODUPLASTIC S A S',\n", + " 'AEROLIBROS S A S',\n", + " 'GASBIO SAS',\n", + " 'ACUSTIMONTAJES SAS',\n", + " 'INVERSIONES PENTHOUSE SAS',\n", + " 'PANACAMBIOS S A S',\n", + " 'PROYECTOS Y SOLUCIONES DE INGENIERIA LTDA EN LIQUIDACION',\n", + " 'YEPES VELEZ ELMER',\n", + " 'INVERSIONES AFER S A',\n", + " 'JARAMILLO DE MORA DORA',\n", + " 'GRUPO ZUR COLOMBIA S A S',\n", + " 'EL COMPETIDOR ELECTRICO LTDA',\n", + " 'MARSAL DISTRIBUCIONES S A S',\n", + " 'CONSTRUVENTAS LLANOGRANDE S A S',\n", + " 'GINO FIRENZI SAS',\n", + " 'QUANTUM AGRICOLA SAS',\n", + " 'JORGE ELIECER GAITAN INGENIERIA CONSULTORIA Y VALORACION SAS',\n", + " 'REDSERAUTO SAS',\n", + " 'FERRETERIA EL TRIUNFO S A S',\n", + " 'RAPITEC S A S',\n", + " 'H LAD S A S',\n", + " 'NETCENTRIC LATAM S A S',\n", + " 'DITRACOL S A S',\n", + " 'FUNDACION ACTIVA TERRITORIO E S A L',\n", + " 'INDUCOAL S A S',\n", + " 'SOCIEDAD DE COMERCIALIZACION INTERNACIONAL ARANGO VIVAS S A S',\n", + " 'GEOFORAGROS S A S',\n", + " 'DENTONS CARDENAS & CARDENAS ABOGADOS PROPIEDAD INTELECTUAL S A S',\n", + " 'ARCHBOLD CERON CARLOS ANTONIO',\n", + " 'OCHOA RESTREPO JOSE JAIME',\n", + " 'PINEDA LOPEZ JESUS OVIDIO EN PROCESO DE REORGANIZACION',\n", + " 'SUMINISTROS ENERGETICOS PEREZ OIL COMERCIALIZADORA INTERNACIONAL S A S',\n", + " 'ALZATE CASTANO FAIBEL DE JESUS',\n", + " 'FORERO FERNANDEZ LAURA NATALIA',\n", + " 'EXPERTIA ASESORES DE SEGUROS LTDA',\n", + " 'LEONARDO LUNA SOLUCIONES S A S',\n", + " 'EDIFICAR DEL NORTE S A S',\n", + " 'ARDILA & AMAYA INVERSIONES SAS',\n", + " 'GRUPO ALVAREZ ROSENTAL S A S',\n", + " 'ARIZ SHOES S A S',\n", + " 'KENDAL S A S',\n", + " 'CONSTRUCCIONES M L SAS',\n", + " 'INVERSIONES ZALINAS SAS',\n", + " 'AMIGOS DE NUESTRO CAFE S A S',\n", + " 'A&A CONSULTORES SAS',\n", + " 'COOPERATIVA DE TRANSPORTADORES TASAJERO',\n", + " 'CALIDAD TEXTIL S A',\n", + " 'MADERINCO S A S',\n", + " 'CEDIAUTO S A',\n", + " 'CLINICA LABIMED LTDA',\n", + " 'TECNO DUCTOS SOCIEDAD POR ACCIONES SIMPLIFICADA EN REORGANIZACION',\n", + " 'ASOCIACION DE RECICLADORES EMPRENDEDORES DEL SUR',\n", + " 'KAZ CONSTRUCTORES Y CONSULTORES S A S',\n", + " 'ESPINOSA INGENIERIA SAS',\n", + " 'COEMPRESA S A S',\n", + " 'ZAM LOGISTIC S A S',\n", + " 'PARATODO YA S A S',\n", + " 'SOCIEDAD DE ASEO DE BELLO S A E S P',\n", + " 'ARISTIZABAL MARTINEZ HERNAN ALONSO',\n", + " 'CENTRAL DE PROCESAMIENTO ENTREGAS Y SERVICIOS PUERTA A PUERTA',\n", + " 'MARTINEZ PINTO MARIA INES',\n", + " 'SOCIEDAD DE COMERCIALIZACI N INTERNACIONAL CONFITES BOMBOLINA S A',\n", + " 'ACRE COMERCIALIZADORA S A S',\n", + " 'PERSONAL EN MISION LABORAL S A S E S T EN LIQUIDACION',\n", + " 'INGESTRUCTURAS UNIVERSALES S A S',\n", + " 'MEDICLINICOS SUMINISTROS DE COLOMBIA S A S',\n", + " 'IMAGENES DIAGNOSTICAS POR ACCIONES SIMPLIFICADA',\n", + " 'ELATIN S A S',\n", + " 'CONSEIL PRODUCTION INTERNACIONAL S A S',\n", + " 'SIEMBRA Y COSECHA CP S A S',\n", + " 'HERNANDEZ ARISTIZABAL JUAN DAVID',\n", + " 'COOPERATIVA MULTIACTIVA DE TRANSPORTADORES DE SAN MATEO',\n", + " 'ASUBELL S A S',\n", + " 'INDUSTRIAS M&V SAS',\n", + " 'DISTRIBUIDORA EL PICASO S A S ZESE',\n", + " 'FUNDACION EMPRESARIOS POR LA EDUCACION',\n", + " 'COTES NAVARRO LEONARDO RAFAEL',\n", + " 'AMORIM INVERSIONES S A S',\n", + " 'COMERCIALIZADORA PANAFARGO S A S',\n", + " 'GARCES LLOREDA Y COMPANIA S A CORREDORES DE SEGUROS',\n", + " 'CONFITERIA LA GRAN FORTUNA G G S A S',\n", + " 'LOTOR INGENIERIA S A S',\n", + " 'FUNDACION IBERACADEMY',\n", + " 'J H HOYOS & ASOCIADOS S A S',\n", + " 'PROMOTORA LA ROCA S A S',\n", + " 'TRADE MEDIA S A S',\n", + " 'MARIN ARDILA EDGAR ELIAS',\n", + " 'LOPEZ RAMOS JORGE IVAN',\n", + " 'MYR TRADING SAS',\n", + " 'EKOOMEDIA S A S',\n", + " 'CONSTRUCTORA VILLA CELESTE LTDA',\n", + " 'ANPRO CORREDORES DE SEGUROS S A',\n", + " 'PISO S A S',\n", + " 'SU ALIADA COOPERATIVA DE TRABAJO ASOCIADO CTA',\n", + " 'CONSTRUCTORA URBANITY S A S',\n", + " 'DALIMENTOS S A S',\n", + " 'CARTRICOL SAS',\n", + " 'LEON MATALLANA GLORIA XIMENA',\n", + " 'SERVIAGRO WORLD MOTORS S A S',\n", + " 'PROCOLDEXT SAS',\n", + " 'COMITE DE GANADEROS DEL NORTE DE SANTANDER COGANOR',\n", + " 'ENER RAM S A S',\n", + " 'INVERSIONES POKERMANIA S A S',\n", + " 'TUMATERA TUVIVERO S A S',\n", + " 'GRAN FRUVER SUPER OLIMPICO SAS',\n", + " 'UNIDAD MEDICA DEL SUR DE CASANARE SURMEDICA I P S',\n", + " 'MONSALVE SAENZ GERMAN',\n", + " 'KAYROS INTERNATIONAL SAS',\n", + " 'CAMARA DE COMERCIO COLOMBO HOLANDESA HOLLAND HOUSE',\n", + " 'SEGURIDAD VIAL SEVIAL S A',\n", + " 'ESTACION DE SERVICIO SERVICENTRO LAS LAJAS E U',\n", + " 'LA MACANA AGROPECUARIA SAS',\n", + " 'INVERSIONES RAMIREZ Y SUBASTAS S A S',\n", + " 'SURVEY SERVICES SAS',\n", + " 'PLAN INMOBILIARIO S A S',\n", + " 'INVERSIONES GRUPO 3G S A S',\n", + " 'COLEMPLAST LTDA',\n", + " 'LEONILDE CALDON RAMIREZ',\n", + " 'GRUPO INVERSIONES SYNERGY SAS',\n", + " 'ACOINCO S A S',\n", + " 'CONTACTO ESTRATEGICO OUTSOURCING CONTABLE S A S',\n", + " 'FORERO COLMENARES RAFAEL ORLANDO',\n", + " 'ANGULOA S A S',\n", + " 'DISENO GRES S A S',\n", + " 'CHEMDRILL S A S',\n", + " 'AMBOO LTDA',\n", + " 'INNCET SAS',\n", + " 'COMERCIALIZADORA FINCA SANTA CLARA S A',\n", + " 'LA BONANZA DISTRIBUCIONES NARINO SAS',\n", + " 'OVERHAULIN S A S',\n", + " 'HACIENDA FLANDES S A S',\n", + " 'CJ TECHNOLOGY S A S',\n", + " 'UPGRADE CAR COLOMBIA S A S',\n", + " 'SERVICIOS INTEGRALES EN SALUD SOACHA SAS',\n", + " 'MUEBLES JUVENTUD S A S EN PROCESO DE REORGANIZACION',\n", + " 'COMERCIALIZADORA AGROPECUARIA FUENTEDEORO S A S',\n", + " 'INNOVATION PROFESIONAL GROUP S A S',\n", + " 'ARTEAGA Y MARTINEZ SAS',\n", + " 'ARANA VASQUEZ RAUL',\n", + " 'INSTRUMENTOS DE INGENIERIA GGP S A S',\n", + " 'RICO SANCHEZ S A S',\n", + " 'CONTROL SISTEMAS COMUNICACIONES C S C LTDA',\n", + " 'DE ZUBIRIA GARCIA CARLOS MIGUEL',\n", + " 'DISRAMFOR AUTOPARTES S A S',\n", + " 'RODRIGUEZ VELOZA JORGE ALBERTO',\n", + " 'CPL AROMAS COLOMBIA LTDA',\n", + " 'COMMSCOPE SOLUTIONS INTERNATIONAL INC',\n", + " 'YAUTO S A S',\n", + " 'SIRIOCA S A S',\n", + " 'TRIANA FERNANDO',\n", + " 'JAWDA BLIND LTDA',\n", + " 'AGROEXITO M L S A S ZOMAC',\n", + " 'CONSTRUCCIONES VILLAMARALEJO S A S',\n", + " 'ABITS COLOMBIA S A S',\n", + " 'SOBRES OLES DE COLOMBIA LTDA',\n", + " 'AGROPOLO S A S ZOMAC',\n", + " 'M&M ENT S A S',\n", + " 'PEDICENTRO S A S',\n", + " 'COMERCIALIZADORA VARO S A S',\n", + " 'LEGATRANS S A S',\n", + " 'CASA DE LA CULTURA PIEDRA DEL SOL FLORIDABLANCA',\n", + " 'SEER HOLDINGS S A S',\n", + " 'A TIEMPO CARGO S A S',\n", + " 'COMERCIALIZADORA MEJIA E HIJOS S A S',\n", + " 'INVERSIONES ELUNEY S A S',\n", + " 'ALUMINIOS EL REY SAS',\n", + " 'ZAMBRANO LOMBANA ILDA SOCORRO',\n", + " 'INTERNACIONAL DE TELEMERCADEO S A S EN LIQUIDACION',\n", + " 'INVERSIONES BESUTO SAS',\n", + " 'INGENIERIA Y CONSTRUCCIONES C & M S A S',\n", + " 'COOPERATIVA DE TRABAJO ASOCIADO SIGLO XXI CTA',\n", + " 'ESTRUCAD INGENIERIA Y CONSULTORIA S A S',\n", + " 'INTELSERVICE DE OCCIDENTE LTDA',\n", + " 'EMPRESA SOCIAL DEL ESTADO HOSPITAL SAN ANTONIO',\n", + " 'C R COLOMBIA SAS',\n", + " 'AMEN JEANS WEAR S A',\n", + " 'CARLOS GAVIRIA Y ASOCIADOS S A',\n", + " 'PROPLANET S A S',\n", + " 'COMERCIALIZADORA DE CEMENTOS Y MATERIALES PARA LA CONSTRUCCION S A S EN REORGANIZACION',\n", + " 'TURISMO AL VUELO S A S',\n", + " 'PROGELSA SOCIEDAD POR ACCIONES SIMPLIFICADA',\n", + " 'OMAR ANDRES CAMACHO SUAREZ',\n", + " 'CREATIVE CONSTRUCCION SAS',\n", + " 'KALAGAS S A S',\n", + " 'LABORES Y SERVICIOS AGROMAQ S A S',\n", + " 'TERMINAL DE TRANSPORTES DE NEIVA S A',\n", + " 'VALESTRATE S A',\n", + " 'AGUDELO CHAVES S A',\n", + " 'RAMOS ALDANA NIDIA PILAR',\n", + " 'FLORES Y FRUTAS DE UBATE SAS',\n", + " 'CELL PEOPLE S A S',\n", + " 'COMERCIAL FRANCO HERMANOS S A',\n", + " 'CORPORACION ALTIVE COLOMBIA LTDA',\n", + " 'CENEGAN S A S',\n", + " 'METALTEC NEIVA LTDA',\n", + " 'GOAL',\n", + " 'CARPINDUSTRIAL UMA S A S',\n", + " 'ORGANIZACION CONIGSA SAS',\n", + " 'COLEGIO DON BOSCO VILLAVICENCIO S A S',\n", + " 'CIMAGRO SAS',\n", + " 'COOPERATIVA DE OPERADORES MINEROS DEL CARBON',\n", + " 'ALMACEN EL ARQUITECTO S A S',\n", + " 'PAVIMO SAS',\n", + " 'VESERES Y COMPANIA S C S',\n", + " 'FERMACERO LTDA',\n", + " 'KENTAUR SAS',\n", + " 'SIERRA GONZALEZ JOSE GRIMALDOS',\n", + " 'RUILOBA DISTRIBUCIONES S A S',\n", + " 'CONSTRUCTORA GEMELAR SAS',\n", + " 'ALMACEN AGROPECUARIO DE ANTIOQUIA S A S',\n", + " 'FEDIACERO SAS',\n", + " 'AEXPRESS S A S EN REORGANIZACION',\n", + " 'LINK DIAGNOSTICO DIGITAL S A',\n", + " 'CONSTRUCCIONES LIVIANAS S A EN REORGANIZACION',\n", + " 'BATISTA TOVAR BEATRIZ LUZ',\n", + " 'IMPORHONDA LTDA',\n", + " 'COMERCIAL BONANZA S A S',\n", + " 'GRUPO CALGIR S A S',\n", + " 'RODRIGUEZ GAMBASICA TIBERIO',\n", + " 'GOMEZ GUEVARA CESAR AUGUSTO',\n", + " 'MEDIMFARMA S A S',\n", + " 'CONSTRUCCIONES MYM S A S',\n", + " 'PROMOTORA AIRES DEL BOSQUE S A S',\n", + " 'CJ&G INVERSIONES SAS',\n", + " 'IPS FEVISALUD S A S',\n", + " 'LA ESQUINA LTDA',\n", + " 'GREEN BOUQUET FSS S A S',\n", + " 'JAIME PARRA Y COMPANIA S A S',\n", + " 'LICEO FRANCES BILINGUE INTERNACIONAL DE BOGOTA SAS',\n", + " 'COLOMBIA AGRO S A S',\n", + " 'SUMINISTROS Y SERVICIOS INNOVAR S&M S A S',\n", + " 'GLOBAL BUSINESS EDITORES S A S',\n", + " 'CERAMICOS Y MINERALES S A S',\n", + " 'INSTITUTO NACIONAL DE INVESTIGACION Y MEDICINA ESPECIALIZADA S A S',\n", + " 'INDRESFER S A',\n", + " 'INVERSIONES ALQUIMIA S A S',\n", + " 'FUNDACION AID FOR AIDS COLOMBIA',\n", + " 'INSTITUTO DEPARTAMENTAL DE TRANSITO DEL QUINDIO',\n", + " 'ESTRUCTURAS Y CONSTRUCCIONES LERMA S A S',\n", + " 'INSTITUTO CANCEROLOGICO INFANTIL S A',\n", + " 'ORFESEG LTDA',\n", + " 'CONNECTING CARGO SAS',\n", + " 'OPIN OPERACIONES INTERNACIONALES S A S',\n", + " 'SISTEMA CONSTRUCTIVO SIACHICA S A S',\n", + " 'CINCO ONCE S A S',\n", + " 'FERRECONSTRUCCION Y SOLUCIONES ADONAI SAS',\n", + " 'FARMASALUD POPAYAN SAS',\n", + " 'DISTRIBUCIONES ANDINAS BIEN HECHAS DE COLOMBIA S A S',\n", + " 'INKLUSIVA S A S',\n", + " 'BAIN MEDICAL TRADING COLOMBIA S A S',\n", + " 'INECTEL S A S',\n", + " 'SEMILLAS DEL TROPICO S A S',\n", + " 'COLVAC EMPAQUES DE BARRERA S A S',\n", + " 'GOMEZ GOMEZ FRANCISCO HERIBERTO',\n", + " 'CORPORACION PARA EL DESARROLLO AMBIENTAL COLOMBIANO',\n", + " 'BIENES RAICES LA NACIONAL S A S',\n", + " 'RESTREPO RODRIGUEZ JOHANA ALEXANDRA',\n", + " 'COMERCIALIZADORA DE TUBOS Y PERFILES LTDA',\n", + " 'FUNDACION CLINICA UNIVERSITARIA SAN JUAN DE DIOS',\n", + " 'ELECTRONICA VIGILANCIA Y SEGURIDAD PRIVADA 7 LTDA',\n", + " 'COOPERATIVA DE TRABAJO ASOCIADO LIDERAZGO Y TALENTO COOPERATIVO',\n", + " 'SQADRA TEAM S A S',\n", + " 'GRANJA SAN ESTEBAN S A S',\n", + " 'CONSTRUCCION Y OBRAS CIVILES PINZON S A S',\n", + " 'E S E HOSPITAL LOCAL DE EL RETEN',\n", + " 'AQL PRIMAVERA S A S',\n", + " 'INVERSIONES Y ASESORIAS DFT S A S',\n", + " 'IMPORTADORA MOTO FOX SAS',\n", + " 'FRANCISCO HERIBERTO GOMEZ GOMEZ',\n", + " 'ALIANZA LOGISTICA MULTINIVEL SAS',\n", + " 'INVERSIONES MI GENTE S A S',\n", + " 'CONSTRUCTORA GILSA S A',\n", + " 'CONSTRUCTORES ATUESTA & CARDENAS S A S',\n", + " 'BEDOYA RAMIREZ SORA INES',\n", + " 'AGRO NEGOCIOS LTDA',\n", + " 'MAXI ELECTRICOS D&G SAS',\n", + " 'COMERCIALIZADORA SUPERQUESOS S A S',\n", + " 'NORALPLAS S A S',\n", + " 'BETANCUR GOMEZ ARLEY DE JESUS',\n", + " 'COMERCIALIZADORA JC LTDA',\n", + " 'FCP GLOBAL ASESORIAS SAS',\n", + " 'INDUSTRIAL GENETICA S A S',\n", + " 'INSTALAMOS ALIADOS S A S',\n", + " 'SIKAMAR LTDA',\n", + " 'ALVARO JOSE MARLES MONTES',\n", + " 'VIA BOGOTA S A S',\n", + " 'FONDO DE EMPLEADOS AL SERVICIO DE LOS TRABAJADORES DEL SECTOR EMPRESARIAL COLOMBIANO',\n", + " 'NN INVERSIONES S A S',\n", + " 'SERVIAGRO YARUMAL ANT ZOMAC S A S',\n", + " 'DISENO Y DECORACION LA BROCHA S A S',\n", + " 'INVERSIONES LAS AGUILAS S A S',\n", + " 'SERVIGAS OXIGENAR LTDA',\n", + " 'ESTRUCTURAS MORENO SAS',\n", + " 'QOPPA PHARMA S A S',\n", + " 'CORDENYLON S A S',\n", + " 'DISALUMINIOS MANIZALES S A S',\n", + " 'INVERSIONES INVAGRO S A S',\n", + " 'CARODE S A S',\n", + " 'KAWAK COL SAS',\n", + " 'A MAS V S A S',\n", + " 'ACF TECHNOLOGIES COLOMBIA S A S',\n", + " 'MUSEO DE ARTE MODERNO DE BOGOTA',\n", + " 'CONSTRUCCIONES PREFABRICADAS EN ACERO S A EN REORGANIZACION',\n", + " 'CARDIOESPEC S A S',\n", + " 'PRINT DIGITAL GRAN FORMATO S A S',\n", + " 'GRUPO OMACA S A S',\n", + " 'IMAGINE VENTURES SAS',\n", + " 'HOJAS S A S',\n", + " 'ESTRUCTURAS METALICAS J M S A EN LIQUIDACION',\n", + " 'ALTIUM PROYECTOS SAS',\n", + " 'INVERSIONES ESCOCIA S A S',\n", + " 'INMUEBLES Y PROYECTOS SAS',\n", + " 'LABORVIDA IPS S A S',\n", + " 'RECICLAJE DE PRODUCTOS Y ACEITES LTDA',\n", + " 'O I S TELECOMUNICACIONES S A S EN TRAMITE DE NEGOCIACION DE EMERGENCIA',\n", + " 'EXPRESO DEL SOL SAS',\n", + " 'MULTIMODAL LOGISTICA DE CARGA SAS',\n", + " 'M A M INGENIEROS CONTRATISTAS S A S',\n", + " 'CENTRO DE REHABILITACION FISICO PULMONAR CERFIP SAS',\n", + " 'PINTORRES Y ARQUITECTOS ASOCIADOS S A S',\n", + " 'URBANIZACIONES Y CONSTRUCCIONES DEL SUR URCOSUR S A S',\n", + " 'DISTRIBUIDORA DEL CORRAL Y COMPANIA LTDA EN LIQUIDACION',\n", + " 'SOLFIVALORES S A',\n", + " 'TU RESPALDO SEGURO S A S',\n", + " 'CAMARA DE COMERCIO DE DOSQUEBRADAS',\n", + " 'VACUUM COOLING COLOMBIA S A S',\n", + " 'LOPEZ ARANGO CARLOS FABIAN',\n", + " 'MICROANALISIS SAS',\n", + " 'COOPERATIVA MULTIACTIVA DE SERVICIOS DEL SECTOR DE ENVIOS Y MENSAJERIAS DE COLOMBIA LIMITADA',\n", + " 'TRANSPORT INNOVATION S A S',\n", + " 'COOPERATIVA MULTIACTIVA PRODUCTORES AGRICOLAS CAJAMARCA LTDA CARC',\n", + " 'EXTREMA MERCADEO RELACIONAL S A S',\n", + " 'PESCADOS Y MARISCOS DE SURAMERICA S PEZMARSUR S A S',\n", + " 'AUTO GRUAS LA SEXTA 24 HORAS Y COMPANIA LTDA',\n", + " 'TRANSPORT SYSTEMS SAS',\n", + " 'COMERCIALIZADORA JK DEL NORTE S A S',\n", + " 'DISTRIMATERIALES ATLANTICO S A S',\n", + " 'FORTALEZA CONSTRUCTORA DE COLOMBIA S A S',\n", + " 'INCIVILPRO S A S',\n", + " 'ELIARA CONSTRUCCIONES SAS',\n", + " 'CONSTRUARQ DESIGN S A S',\n", + " 'PAVIMENTOS E INFRAESTRUCTURA S A S',\n", + " 'TRANSPORTES MINERALES DE COLOMBIA S A',\n", + " 'CONSTRUCTORA Y EQUIPOS DEL VALLE S A S',\n", + " 'AGROFERTIL VILLAVICENCIO S A S',\n", + " 'CTO MEDICINA COLOMBIA S A S',\n", + " 'HERMES RODRIGUEZ POLO',\n", + " 'DISTRIBUIDORA MOVI CARGA SAS',\n", + " 'MLO S A S',\n", + " 'CONTINENTAL DE ENVASES LTDA',\n", + " 'PUNTO CARDINAL SOCIEDAD DE COMERCIALIZACION INTERNACIONAL S A EN LIQUIDACION',\n", + " 'PRO FARM DE LOS ANDES S A S',\n", + " 'CONSTRUCTORA CALCIA S A S EN LIQUIDACION JUDICIAL',\n", + " 'PAZAGRO SAS',\n", + " 'GONZALEZ RODRIGUEZ INGRID',\n", + " 'TERRITORIO VASQUEZ TEMPORALES S A S',\n", + " 'REPRESENTACIONES AMAZONAS SAS',\n", + " 'ZULETA GRANADA AYDA LUZ',\n", + " 'COLD CREDITOS S A S',\n", + " 'QUIGUA S A S',\n", + " 'GRANOS SECOS LAS SEMILLAS S A S',\n", + " 'NOVOA ORTIZ ANA BEATRIZ',\n", + " 'LIBRERIA ALIANZAS S A S',\n", + " 'G ARCILA S A S',\n", + " 'EMPAQUES FLEXIBLES S A EN REORGANIZACION',\n", + " 'H DE H SAS',\n", + " 'CUADROS RAMIREZ CARLOS ALFONSO',\n", + " 'BS INGENIEROS ARQUITECTOS S A S',\n", + " 'INDUSTRIAS AVIZOR S A S EN LIQUIDACION',\n", + " 'MORTEROS TEQUENDAMA S A',\n", + " 'COMERCIALIZADORA DEL CAMPO S A S',\n", + " 'VESTIGLOBAL S A S',\n", + " 'A SELLASEG INGENIERIA S A S',\n", + " 'SUMINISTROS MEDICOS JPC SAS',\n", + " 'DISTRICAJAS Y EMPAQUES MUNOZ SAS',\n", + " 'FUNPRO S A S',\n", + " 'TRANSPORTE Y LOGISTICA ARAUCO SAS',\n", + " 'EL PUNTO ELECTRICO LTDA',\n", + " 'ESTACION DE SERVICIOS Y LUBRICANTES LA JOYA SAS',\n", + " 'LABORATORIOS DE CONTROL ROBOTICO S A S',\n", + " 'COMERCIALIZADORA DELICIAS MARINAS SAS',\n", + " 'MORALES DE MELAN MARIA OMAIRA',\n", + " 'ASESORIAS Y SUMINISTROS TECNICOS TEMPORALES LTDA',\n", + " 'ULTRASEGURA LTDA',\n", + " 'FERRETERIA AZULGRANA SAS',\n", + " 'SERRANO CUENCA BENJAMIN',\n", + " 'ANDES CONSTRUCTORA S A S',\n", + " 'REINA VELOSA DIANA KATHERINA',\n", + " 'BOMBA ESTEREO SAS',\n", + " 'MASCAMPO S A S',\n", + " 'BANQUINAR SAS',\n", + " 'COSMO CONSULT COLOMBIA S A S',\n", + " 'SONDA S A',\n", + " 'CONSTRUCTODO DE LA GUAJIRA S A S',\n", + " 'CONSTRUCTORA KSAS S A S EN PROCESO DE NEGOCIACION DE EMERGENCIA DE UN ACUERDO DE REORGANIZACION',\n", + " 'DISNAEQUIPOS S A S',\n", + " 'RUIZ & SEGURA SAS',\n", + " 'MOTO FORTUNA SAS',\n", + " 'HENRY DUSSAN',\n", + " 'ORLANDO DE JESUS RENDON SANCHEZ',\n", + " 'BARRIOS RINCON SULY MARGARETH',\n", + " 'GRUPO QUINTERO Y ASOCIADOS S A S',\n", + " 'LACORSALUD S A S',\n", + " 'COONSTRUIR TRABAJADORES DE LA CONSTRUCCION SOCIEDAD POR ACCIONES SIMPLIFICADA',\n", + " 'URBASER MONTENEGRO S A E S P',\n", + " 'CHARRY NARVAEZ LTDA AGRICOLA EL PARAISO EN LIQUIDACION',\n", + " 'D&F SEGURIDAD S A S',\n", + " 'KARRY DISTRIBUCIONES S A S',\n", + " 'COMERCIALIZADORA JUANGUI S A EN LIQUIDACION',\n", + " 'POCHOCELL JR S A S',\n", + " 'BARBACOA BURGER Y BEER S A S',\n", + " 'COOPERATIVA DE TRABAJO ASOCIADO AMISALUD',\n", + " 'RODRIGUEZ QUINTERO ROCIO',\n", + " 'INVERSIONES MCCAUSLAND S A S',\n", + " 'CMIAC IPS GUAJIRA S A S',\n", + " 'ONMOBILE GLOBAL LIMITED SUCURSAL COLOMBIA',\n", + " 'CONSTRUELECTRIC DE LA COSTA S A S',\n", + " 'DISMACERO SAS',\n", + " 'PROEXCOM S A S',\n", + " 'SEISMIC COMPANY SERVICES SAS',\n", + " 'POLIBAGS S A S',\n", + " 'CONSTRUCCIONES Y RECUBRIMIENTOS INDUSTRIALES DE OCCIDENTE S A S',\n", + " 'CARNES MONTEALEGRE S A S',\n", + " 'ELECTRONICA JDF SAS',\n", + " 'PROXIMATE SAS',\n", + " 'TRUVEL S A',\n", + " 'MOVILIZADORA GANADERA LTDA',\n", + " 'COMBUSTIBLES ECODIESEL S A S',\n", + " 'ELECTRO ASE COMPRESORES S A S',\n", + " 'XPAND GROUP S A S',\n", + " 'INVERSIONES LOS SAUCES S A EN LIQUIDACION',\n", + " 'INGENIERIA & DISENOS INTEGRALES S A S',\n", + " 'ELECTRONICAS SAUVER S A S',\n", + " 'INVERSIONES GUILCO LTDA EN LIQUIDACION',\n", + " 'CONSTRUIR AMBIENTE S A S',\n", + " 'DACOTRANS DE LATINOAMERICA COLOMBIA S A',\n", + " 'ESTACION DE SERVICIO VIRGEN DEL CARMEN S A S',\n", + " 'CORAL GAMES S A S',\n", + " 'AVELLA MONROY WILLIAM ARMANDO',\n", + " 'SERVICIOS HIDROGEOLOGICOS INTEGRALES S A S',\n", + " 'SAN CARLOS INGENIERIA Y SERVICIOS S A S',\n", + " 'INSUPUERTAS S A S',\n", + " 'EDS PARADOR DE OCCIDENTE SAS',\n", + " 'AKERMOS S A S',\n", + " 'GARCIA BLANCO NESTOR JULIO',\n", + " 'CHICO INVESTMENTS SAS',\n", + " 'AGROINVERSIONES GERONIMO F B ZOMAC S A S',\n", + " 'RECICLADORA NUEVO HORIZONTE S A S',\n", + " 'TECNI MERCEDES S A S',\n", + " 'CREACIONES L Y N DONMATIAS S A S',\n", + " 'TELAS Y PROCESOS S C S LIQUIDADA',\n", + " 'FUNDACION CAMINO DE LA ESPERANZA',\n", + " 'LOZANO PAOLA ANDREA',\n", + " 'CENTRO DE PRODUCCION Y ALIMENTOS S A S',\n", + " 'EMBELLECER TIENDA CERAMICA S A S',\n", + " 'LA CAVA LOGISTICA S A S',\n", + " 'ULTRA COMPACT COLOMBIA SAS',\n", + " 'VILLAMIL BERNAL WILSON YIMY',\n", + " 'ARANGO G INVERSIONES S A S',\n", + " 'EMPAQUES Y SOLUCIONES DQ SAS',\n", + " 'MENDOZA MELO JOSE MANUEL',\n", + " 'HOYOS SEVERICHE CARLOS ALBERTO',\n", + " 'RIVERA MARTINEZ LUIS ARCADIO',\n", + " 'INVERSIONES MERCA PLAZA S A S',\n", + " 'ECONO HOTEL GROUP S A S',\n", + " 'SURTIALMIDONES S A S',\n", + " 'SALSAMENTARIA AVILENA S A S',\n", + " 'COLEXIM S A S',\n", + " 'AGRO ADANAGI S A S',\n", + " 'ESTARTER S A S',\n", + " 'COLOMBIAN CAIMAN SAS',\n", + " 'SOCIEDAD AGROINDUSTRIAL EL PROGRESO S A',\n", + " 'HEMOCOLOMBIA SAS',\n", + " 'NUTRACEUTICOS DE COLOMBIA S A S',\n", + " 'QUENGUAN ASCUNTAR IVAN RENE',\n", + " 'MARTHA BETANCUR DE ARROYAVE',\n", + " 'SOLUPROYECTOS DE CARPINTERIA J L B S A S',\n", + " 'SURTI MATERIALES JF S A S',\n", + " 'LUBRIGAUSDA SAS',\n", + " 'RECICLAIR S A S',\n", + " 'CYD INGENIERIA LTDA',\n", + " 'COMERCIALIZADORA LAS JUANAS S A S',\n", + " 'SEGUROS O M S S A S',\n", + " 'FONDO DE EMPLEADOS PARA EL FUTURO FEMFUTURO',\n", + " 'ORGANIZACION NACIONAL DE SERVICIOS INDUSTRIALES S O N A S I S A S',\n", + " 'ANTIBIOTICOS DA COLOMBIA S A S',\n", + " 'GRUPO 10 INVERSIONES S A S',\n", + " 'CONSORCIO CONSTRUCTOR DE LA PROSPERIDAD',\n", + " 'E S E HOSPITAL FRANCISCO BARRERA DON MATIAS',\n", + " 'FUNDACION PROAVES DE COLOMBIA',\n", + " 'COMPANIA AGROINDUSTRIAL Y COMERCIAL PACANDE S A S',\n", + " 'MATERIALES Y MADERAS DE RIONEGRO ANTIOQUIA SAS',\n", + " 'NAGGLE COGOLLO WAIMET',\n", + " 'CARDONA DE BAENA LUZ AMPARO',\n", + " 'DISTRIBUIDORA INTERNACIONAL GROUP S A S',\n", + " 'DISTRIBUIDORA DE CALDAS LIMITADA',\n", + " 'CONSTRUCTORA SERBAL S A S',\n", + " 'PPF INGENIERIA SAS',\n", + " 'HOGAR DE REPOSO BETANIA S A S',\n", + " 'ORGANIZACION KS LTDA',\n", + " 'LIFEHEALTH UNIVERSAL COL ZOMAC S A S',\n", + " 'AVILA COLOMBIA SAS',\n", + " 'MACHINETRONICS S A S',\n", + " 'CORPORACION AFRO PROGRESO DIEGO LUIS CORDOBA',\n", + " 'CORPORACION FONDO DE APOYO DE EMPRESAS ASOCIATIVAS CORFAS',\n", + " 'SUMINISTROS Y SERVICIOS INDUSTRIALES PONCE DEL VECCHIO S A S',\n", + " 'COMERCIALIZADORA INTERNACIONAL MUNDO ROPE SAS',\n", + " 'LEGIONARIUS STUNTS SAS',\n", + " 'PPA COLOMBIA SAS',\n", + " 'PROMOTORA CORREA VELEZ & CIA S A S',\n", + " 'EGAVAL S A S',\n", + " 'SPORTSAT TELEVISION S A',\n", + " 'GOMEZ GOMEZ LTDA',\n", + " 'ANDES HORIZON CAPITAL S A S',\n", + " 'SELINA OPERATION LOS HEROES S A S',\n", + " 'ASSURANT COLOMBIA COMPANIA DE SERVICIOS S A S',\n", + " 'JUAN CAMILO ROCHA LOAIZA',\n", + " 'MORALES ORDONEZ ANDRES FELIPE',\n", + " 'GOMEZ RONCANCIO EDGAR LEONARDO',\n", + " 'SUPLINDUSTRIA S A S',\n", + " 'ETIQUETAS DE COLOMBIA S A S',\n", + " 'MEDIA BUSINESS COLOMBIA SAS',\n", + " 'SERVICIOS DE PROPIEDAD INDUSTRIAL S SPI S A S',\n", + " 'ASOCIACION DE RECICLADORES Y RECUPERADORES AMBIENTALES ASOREMA',\n", + " 'LUZ Y DECORACION S A S',\n", + " 'PROURBANOS CIMA SAS',\n", + " 'TI360 S A S',\n", + " 'GYG SERVICES GROUP SAS',\n", + " 'UNIDAD DE FERTILIDAD FERTIVIDA SAS',\n", + " 'INSUMOS PARA SU IMPRENTA S A S',\n", + " 'LLANOPET SAS',\n", + " 'FGI GARANTIAS INMOBILIARIAS S A EN LIQUIDACION',\n", + " 'TECNIDESARROLLO S A S',\n", + " 'OV LOGISTICS S A S',\n", + " 'GP CONTRUCCIONES Y PROYECTOS S A S',\n", + " 'COMPANIA NACIONAL DE TECNOLOGIAS MEDICAS S A S',\n", + " 'MULTI OFICINAS DE COLOMBIA S A S',\n", + " 'FRENOS ANDINOS S A S',\n", + " 'SOLUCIONES HIDRAULICAS O B S A S',\n", + " 'INVERSIONES GASTRANS S A S',\n", + " 'VANDENENDEN S A S',\n", + " 'SCALATTO S A S',\n", + " 'TRANSPORTADORA DE CARGA Y LOGISTICA S A',\n", + " 'LUPITA FLOWERS S A S',\n", + " 'TALENT MANAGEMENT SERVICES S A S',\n", + " 'KAPITAL INTERNATIONAL S A S',\n", + " 'INMETALTEC S A S',\n", + " 'QUINTERO ALZATE IVAN ARLEY',\n", + " 'INGENIERIA METALMECANICA ELECTROTECNICA S A S',\n", + " 'FERRECONSTRUCCIONES SAS',\n", + " 'INGENIERIA CONSTRUCCIONES Y SERVICIOS LS S A S',\n", + " 'COMERCIALIZADORA DE EMPAQUES SYS S A S',\n", + " 'FUNDACION CHILDREN OF THE HOUSE',\n", + " 'INVERSIONES SARLESTE S A S',\n", + " 'TIENDA FERRETERA DEL HUILA SAS',\n", + " 'GUAINIA TOURS S A S',\n", + " 'FERRALPO S A S',\n", + " 'DURLEY PATRICIA BALLESTEROS',\n", + " 'BICODE SAS',\n", + " 'ZULUAGA GIRALDO ELKIN WBALDO',\n", + " 'FUNDACION PARA EL DESARROLLO INTEGRAL DE LA COMUNIDAD FUNDIC',\n", + " 'ALFONSO GARCES ZULUAGA',\n", + " 'C I WORLD MARKET SAS',\n", + " 'ALMACENADORA DE MEDICAMENTOS Y SUMINISTROS MEDICOS S A S',\n", + " 'IZASEG S A S',\n", + " 'LOPEZ DUQUE DUBERLEY EDINSON',\n", + " 'HERNANDO GENE PROYECTOS S A S',\n", + " 'BLUEFIRE INGENIERIA S A S',\n", + " 'RAMALZA S A S',\n", + " 'GRUPO XXI TECNOLOGIA PARA EL SIGLO S A S',\n", + " 'TOCH S A S',\n", + " 'MAQUINARIA AGRICOLA DE COLOMBIA S A S',\n", + " 'ESCOBAR MEJIA LUIS ALFONSO',\n", + " 'CENTRAL DE HILOS S A S',\n", + " 'HOSPITAL SAN CARLOS SALDANA',\n", + " 'PUBLIEMPAQUES S A S',\n", + " 'INVERSIONES CHIGUATA S A S EN LIQUIDACION',\n", + " 'INFRAESTRUCTURA Y SERVICIOS INTEGRALES S A S',\n", + " 'COMERCIALIZADORA NACIONAL DE CARNES S A S',\n", + " 'MARIN GARCIA JAVIER ALEXANDER',\n", + " 'INVERSIONES SUPERMARKET L&C S A S',\n", + " 'ADORMODA S A S',\n", + " 'ARENAS HERMANOS INVERSIONES S C A',\n", + " 'ORDONEZ S A',\n", + " 'ALIANZA SABANA SAS',\n", + " 'GARCIA VELEZ RODRIGO ALBERTO',\n", + " 'INVERSIONES UMBRIA ZOMAC S A S',\n", + " 'GABRIEL JAIME FERNANDEZ Y COMPANIA S A S',\n", + " 'FUNDACION CALATRAVA PARA LA ENSENANZA PRECOZ',\n", + " 'CASTROMAR NAVEGACIONES S A',\n", + " 'EMPRENDER SERVICIOS TEMPORALES SAS EMPSERT',\n", + " 'I PETRORIENTE S A S',\n", + " 'INVERSIONES CARATAL S A',\n", + " 'TERRITORIO AVENTURA S A S',\n", + " 'INSURANCE & CAPITAL LTDA',\n", + " 'ZM INGENIERIA SAS',\n", + " 'AGRO FILTER DEL LLANO S A S',\n", + " 'SUPERMERCADO LA CANASTA FRESCA S A S',\n", + " 'LACTEOS EMILIA GROUP S A S',\n", + " 'SERVIGAS CINTAS Y LUJOS SAS',\n", + " 'DISTRIBUIDORA DE PAPAYAS RENDON S A S',\n", + " 'FAICOL S A S',\n", + " 'MOTOAGIL DEL SUR S A S',\n", + " 'EMPRESA DE SERVICIOS PUBLICOS DE PUERTO LOPEZ ESPUERTO S A E S P',\n", + " 'KIMIK S A S',\n", + " 'SECURITY AND PROTECTION LTDA',\n", + " 'PILAS CORDOBA S A S',\n", + " 'INGECASA INGENIEROS S A',\n", + " 'EQUIMED LTDA',\n", + " 'GRUPO MEDICO ESPECIALIZADO MEDELLIN S A S',\n", + " 'INVERSIONES CAVER S A S',\n", + " 'TURISMO EL GLOBO S A S',\n", + " 'GRUPO COMERCIAL ALDANA SAS',\n", + " 'SERVICIOS Y ALIMENTOS NACIONALES S A S',\n", + " 'FRANCO GONZALEZ JAIME',\n", + " 'ARMANDO CAMACHO POLANIA',\n", + " 'CASAS Y COSAS S A S',\n", + " 'FERRETERIA COACERO JVC S A S',\n", + " 'ASINCO S A S',\n", + " 'GIRALDO GARCES ROGUER',\n", + " 'AVANCE MEDICO S A',\n", + " 'SOUTH AMERICAN PLASTIC SURGERY S A S',\n", + " 'FEVA INTERNACIONAL SAS',\n", + " 'ESTRUCTURAS Y AGUAS I C S A S',\n", + " 'PROYECTO NASH S A S',\n", + " 'MED LINE S A S',\n", + " 'INVERSIONES LAZUS J E S A S',\n", + " 'SOLUCIONES LOGISTICAS TCL S A S',\n", + " 'CEPEDA GUERRA GIRALDO AURELIO',\n", + " 'GIMNASIO ALTAIR DE LA SABANA LTDA',\n", + " 'FUNDACION CAPITAL FUNDAK SUCURSAL COLOMBIANA',\n", + " 'COMERCIALIZADORA J B J S A S',\n", + " 'P&Q SOLUCIONES ENERGETICAS S A S',\n", + " 'DEFA S A S',\n", + " 'TEXPROINN S A S',\n", + " 'RESTAURANTE BAR EL TRANSPORTADOR SAS',\n", + " 'GARAY DE OLAYA MARIA PAULINA',\n", + " 'SINERGIA INMOBILIARIA S A S',\n", + " 'QUESOS Y LACTEOS JERUSALEM PINZON SAS',\n", + " 'DISTRINSUMOS FARAON SAS',\n", + " 'TERMOQUIMICA S A S',\n", + " 'SUPERMERCADO EL ECONOMICO REMEDIOS S A S',\n", + " 'PRESENTE AGENCIA DE SEGUROS LTDA',\n", + " 'AH MANTENIMIENTO Y MONTAJES S A S',\n", + " 'SERVINGENIERIA R & J SAS',\n", + " 'ALMACEN TORNITUERCAS S A S',\n", + " 'AGENCIA DE ADUANAS EXPORCOMEX LTDA',\n", + " 'SANANDO S A S',\n", + " 'LADECOL S A S',\n", + " 'TALENTO PRE ESCOLAR INSTITUCION EDUCATIVA LTDA',\n", + " 'ROZEN INGENIEROS CONTRATISTAS E U EN LIQUIDACION',\n", + " 'OPTENET S A',\n", + " 'COOPERATIVA TRANSPORTADORA FLUVIAL Y TERRESTRE DE ARAUCA LTDA EN REORGANIZACION',\n", + " 'FERRETERIA LA UNION VDC S A S',\n", + " 'JUAN FERNANDO DIAZ LOPEZ',\n", + " 'LIFE PLAST S A S',\n", + " 'DACAR FILTROS S A S',\n", + " 'BISCOTTINO S A S',\n", + " 'CORREA BOTERO S A S',\n", + " 'ECORECYCLAR GESTION SOSTENIBLE S A S',\n", + " 'COMERCIALIZADORA DE LECHE SANTIMAR S A S',\n", + " 'SUNCO ENERGY S A S E S P',\n", + " 'BURGOS GRILLO GUILLERMO',\n", + " 'INDUSTRIA COLOMBIANA DE MEZCLAS S A S',\n", + " 'EXPOMINERALES DEL META SAS',\n", + " 'COOPERATIVA DE TRANSPORTE SOLIDARIO',\n", + " 'INVERSIONES LIBOS AUTOMOVILES Y COMPANIA LTDA',\n", + " 'MONTOYA GALVIS JOAN SEBASTIAN',\n", + " 'PROYECTAMOS ASESORES Y CONSULTORES S A S',\n", + " 'EMPAQUES Y CONTENIDOS S A S',\n", + " 'CEPEDA PRIETO LUZ DARY',\n", + " 'CONSTRUCCIONES ALGUACIL S A S ZOMAC',\n", + " 'REDES INTELIGENTES S A S REDINTSAS',\n", + " 'ELEVEN GRP SAS',\n", + " 'NAU GROUP S A S',\n", + " 'CDA TECNOSABANA SAS',\n", + " ...]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(set(df4['Company'])) # With this we obtain a list where the company names are not repeated." + ] + }, + { + "cell_type": "markdown", + "id": "76a1e50e", + "metadata": {}, + "source": [ + "We choose two companies at random, a random starting year (from among the possible ones) and we do not enter a specific ending year (we let it be equal to the default value). We then use them in our created function:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "dbb4cf52", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "( Company Year OR\n", + " 0 LELE S A S 2017.00 987721.00\n", + " 1 LELE S A S 2018.00 559227.00\n", + " 2 LELE S A S 2019.00 1349564.00\n", + " 3 LELE S A S 2020.00 184484.00\n", + " 4 LELE S A S 2021.00 261623.00\n", + " 5 LELE S A S 2022.00 4395306.00\n", + " 6 LELE S A S 2023.00 NaN\n", + " 7 ARLOW S A S 2017.00 874026.00\n", + " 8 ARLOW S A S 2018.00 791878.00\n", + " 9 ARLOW S A S 2019.00 1096514.00\n", + " 10 ARLOW S A S 2020.00 1462894.00\n", + " 11 ARLOW S A S 2021.00 831023.00\n", + " 12 ARLOW S A S 2022.00 4296811.00\n", + " 13 ARLOW S A S 2023.00 NaN,\n", + " {'Company': 'Company name',\n", + " 'Year': 'Year in which operating revenue was recorded',\n", + " 'OR': 'Operating revenue (in local currency units)'})" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "firm_name=['LELE S A S','ARLOW S A S']\n", + "start_year=2017\n", + "call_data(firm_name,start_year)" + ] + }, + { + "cell_type": "markdown", + "id": "6201cf32", + "metadata": {}, + "source": [ + "It can be seen that using the function the required tuple is obtained." + ] + }, + { + "cell_type": "markdown", + "id": "69db6bda", + "metadata": {}, + "source": [ + "6. Generate a class that do the same as the function, but has a method named as `descripitive` that gives you the mean, max, min, median, and rolling average.\n", + "\n", + "We implement the required class in the following lines of code. The detailed explanation is shown on the same lines." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "2930fd25", + "metadata": {}, + "outputs": [], + "source": [ + "class Data_Caller:\n", + " \n", + " # We initialize the objects of the class with __init__:\n", + " def __init__(self, df=df4):\n", + " \n", + " # With this we make the class by default have as its initial attribute the dataset that contains all the company names and all the OR years.\n", + " self.df = df \n", + " \n", + " def call_data(self, firm_name, start_year, end_year=2023): # We create the call_data method, which in structure will be the same as the previously created function.\n", + " \n", + " df4 = self.df # We obtain the DataFrame initially entered.\n", + " \n", + " # What follows has a similar structure to the function created above and already explained in detail above. Therefore we skip the explanation of the following lines.\n", + " for name in firm_name:\n", + " c = (df4['Company'] == name).any()\n", + " \n", + " if c == False:\n", + " result = 'One of the company names entered is not found within the data set.'\n", + " print(result)\n", + " return result\n", + " \n", + " else:\n", + " d=(df4['Year'] == start_year).any() \n", + " d_=(df4['Year'] == end_year).any() \n", + " \n", + " if d==False or d_==False:\n", + " result= 'One of the years entered is not found in the dataset.'\n", + " print(result)\n", + " return result\n", + " \n", + " else:\n", + " e = df4['Company'] != name\n", + " df5 = df4.drop(df4[e].index)\n", + " \n", + " f = df5['Year'] < start_year\n", + " df5 = df5.drop(df5[f].index)\n", + " \n", + " g = df5['Year'] > end_year\n", + " df5 = df5.drop(df5[g].index)\n", + " \n", + " if firm_name.index(name) == 0:\n", + " df6 = df5.copy(deep=True)\n", + " else:\n", + " df6 = pd.concat([df6, df5], ignore_index=True)\n", + " \n", + " # Now, the difference is that we will create the following attributes.\n", + " self.df_result=df6 # We save the resulting dataframe in the 'df_result' attribute\n", + " self.dic=dic # We save the dictionary created in the 'dic' attribute.\n", + " self.start=start_year # We save the start year of the data in the 'start' attribute \n", + " self.end=end_year # We save the final year of the data in the 'end' attribute\n", + " \n", + " result = (self.df_result, self.dic) # We create the required tuple using the created attributes.\n", + " \n", + " return result\n", + " \n", + " def descriptive(self): # We additionally create this method that requires the question.\n", + " \n", + " # First we get the resulting DataFrame that we got earlier using the attribute we created for it.\n", + " h = self.df_result\n", + " # Then we get the descriptive statistics of this Dataframe.\n", + " h_ = h.describe().drop(columns='Year') # We drop the column since it is not of interest to see the descriptive statistics on this variable.\n", + " \n", + " # Now, to look at the descriptive statistics at the level of each company, we first group the Dataframe data according to the company with the groupby method.\n", + " i = h.groupby([h.columns[0]])\n", + " # Then we get the descriptive statistics of this Dataframe.\n", + " i_ = i.describe().drop(columns='Year') # We drop the column since it is not of interest to see the descriptive statistics on this variable.\n", + " \n", + " # Now, to add the rolling average to the descriptive statistics we do the following:\n", + " if self.end-self.start>2:\n", + " # If the resulting dataset has more than two years of OR recorded, then we will find the rolling average considering that each window will have the last 3 years.\n", + " j=i.rolling(window=3).mean()\n", + " \n", + " elif self.end-self.start==2:\n", + " # If the resulting dataset has only two years of OR recorded then we will find the rolling average considering that each window will have the last 2 years.\n", + " j=i.rolling(window=2).mean()\n", + " \n", + " else: \n", + " # If the resulting dataset has only one year of OR recorded then we will not find the rolling average and will simply print the following message:\n", + " j='The rolling average is not found as there are less than two years of ORs recorded in the resulting data set.'\n", + " print(j)\n", + " return h,i_,j\n", + " \n", + " return h_,i_,j" + ] + }, + { + "cell_type": "markdown", + "id": "30f6c5d4", + "metadata": {}, + "source": [ + "Now we check if the created class has the same functionality as the `call_data` function.\n", + "\n", + "First we create an object using this class:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "f112170c", + "metadata": {}, + "outputs": [], + "source": [ + "Companies=Data_Caller()" + ] + }, + { + "cell_type": "markdown", + "id": "07135204", + "metadata": {}, + "source": [ + "Now we use the `call_data` method using `firm_name` and `start_year` as inputs which were created previously when the `call_data` function was tested." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "a5cd0a06", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "( Company Year OR\n", + " 0 LELE S A S 2017.00 987721.00\n", + " 1 LELE S A S 2018.00 559227.00\n", + " 2 LELE S A S 2019.00 1349564.00\n", + " 3 LELE S A S 2020.00 184484.00\n", + " 4 LELE S A S 2021.00 261623.00\n", + " 5 LELE S A S 2022.00 4395306.00\n", + " 6 LELE S A S 2023.00 NaN\n", + " 7 ARLOW S A S 2017.00 874026.00\n", + " 8 ARLOW S A S 2018.00 791878.00\n", + " 9 ARLOW S A S 2019.00 1096514.00\n", + " 10 ARLOW S A S 2020.00 1462894.00\n", + " 11 ARLOW S A S 2021.00 831023.00\n", + " 12 ARLOW S A S 2022.00 4296811.00\n", + " 13 ARLOW S A S 2023.00 NaN,\n", + " {'Company': 'Company name',\n", + " 'Year': 'Year in which operating revenue was recorded',\n", + " 'OR': 'Operating revenue (in local currency units)'})" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Companies.call_data(firm_name,start_year)" + ] + }, + { + "cell_type": "markdown", + "id": "5adc37c3", + "metadata": {}, + "source": [ + "You can see that the same tuple is obtained as was obtained using the `call_data` function. Now we use the `descriptive` method." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "66482c39", + "metadata": {}, + "outputs": [], + "source": [ + "d_1,d_2,d_3=Companies.descriptive()" + ] + }, + { + "cell_type": "markdown", + "id": "6055103e", + "metadata": {}, + "source": [ + "Finally, we show the descriptive statistics found with the implemented method:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "d6db4c40", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Global descriptive statistics\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
OR
count12.00
mean1424255.92
std1416633.83
min184484.00
25%733715.25
50%930873.50
75%1377896.50
max4395306.00
\n", + "
" + ], + "text/plain": [ + " OR\n", + "count 12.00\n", + "mean 1424255.92\n", + "std 1416633.83\n", + "min 184484.00\n", + "25% 733715.25\n", + "50% 930873.50\n", + "75% 1377896.50\n", + "max 4395306.00" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print('Global descriptive statistics')\n", + "d_1" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "bcfa48d4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Descriptive statistics by company\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
OR
countmeanstdmin25%50%75%max
Company
ARLOW S A S6.001558857.671364284.04791878.00841773.75985270.001371299.004296811.00
LELE S A S6.001289654.171584398.89184484.00336024.00773474.001259103.254395306.00
\n", + "
" + ], + "text/plain": [ + " OR \\\n", + " count mean std min 25% 50% \n", + "Company \n", + "ARLOW S A S 6.00 1558857.67 1364284.04 791878.00 841773.75 985270.00 \n", + "LELE S A S 6.00 1289654.17 1584398.89 184484.00 336024.00 773474.00 \n", + "\n", + " \n", + " 75% max \n", + "Company \n", + "ARLOW S A S 1371299.00 4296811.00 \n", + "LELE S A S 1259103.25 4395306.00 " + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print('Descriptive statistics by company')\n", + "d_2" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "f10904e4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rolling average by company\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
YearOR
Company
ARLOW S A S7NaNNaN
8NaNNaN
92018.00920806.00
102019.001117095.33
112020.001130143.67
122021.002196909.33
132022.00NaN
LELE S A S0NaNNaN
1NaNNaN
22018.00965504.00
32019.00697758.33
42020.00598557.00
52021.001613804.33
62022.00NaN
\n", + "
" + ], + "text/plain": [ + " Year OR\n", + "Company \n", + "ARLOW S A S 7 NaN NaN\n", + " 8 NaN NaN\n", + " 9 2018.00 920806.00\n", + " 10 2019.00 1117095.33\n", + " 11 2020.00 1130143.67\n", + " 12 2021.00 2196909.33\n", + " 13 2022.00 NaN\n", + "LELE S A S 0 NaN NaN\n", + " 1 NaN NaN\n", + " 2 2018.00 965504.00\n", + " 3 2019.00 697758.33\n", + " 4 2020.00 598557.00\n", + " 5 2021.00 1613804.33\n", + " 6 2022.00 NaN" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print('Rolling average by company')\n", + "d_3" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.18" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/assignments/assignment_3/Assignment_3.ipynb b/assignments/assignment_3/Assignment_3.ipynb index 06a5fec6..41b891f7 100644 --- a/assignments/assignment_3/Assignment_3.ipynb +++ b/assignments/assignment_3/Assignment_3.ipynb @@ -38,7 +38,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.9.12" } }, "nbformat": 4, diff --git a/assignments/assignment_3/group_1_ass_3_2024.ipynb b/assignments/assignment_3/group_1_ass_3_2024.ipynb new file mode 100644 index 00000000..38073518 --- /dev/null +++ b/assignments/assignment_3/group_1_ass_3_2024.ipynb @@ -0,0 +1,4109 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0cecbb3a", + "metadata": {}, + "source": [ + "## Assignment 3 - Group 1 \n", + "\n", + "1. Inspect this dataset `./_data/bogota_firms.xlsx` and show some descriptive statistics of it.\n", + "\n", + "First of all we import the libraries to use." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "ca2caa3b", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd \n", + "pd.set_option('display.float_format', '{:.2f}'.format) # With this all the numbers in the Dataframe will be shown with only 2 decimal places. This is to improve visualization." + ] + }, + { + "cell_type": "markdown", + "id": "8fa3e43a", + "metadata": {}, + "source": [ + "We read the provided dataset with pd.read_excel.\n", + "\n", + "**Note: Remember to change the directory to the location where the excel sheet is located on your computer.**" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "c21f98a7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Company name Latin alphabetCountry ISO codeCity\\nLatin AlphabetNACE Rev. 2, core code (4 digits)Consolidation codeLast avail. yearOperating revenue (Turnover)\\nth LCU 2023Operating revenue (Turnover)\\nth USD 2023Operating revenue (Turnover)\\nth LCU 2022Operating revenue (Turnover)\\nth USD 2022...Operating revenue (Turnover)\\nth LCU 2015Operating revenue (Turnover)\\nth USD 2015Operating revenue (Turnover)\\nth LCU 2014Operating revenue (Turnover)\\nth USD 2014Operating revenue (Turnover)\\nth LCU 2013Operating revenue (Turnover)\\nth USD 2013Operating revenue (Turnover)\\nth LCU 2012Operating revenue (Turnover)\\nth USD 2012Operating revenue (Turnover)\\nth LCU 2011Operating revenue (Turnover)\\nth USD 2011
0CONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE...COCALI4299.00U12022n.a.n.a.4769810991.60...5815591418465.305181316421656.862380083112379.76n.a.n.a.n.a.n.a.
1AGRET CARGA NACIONAL Y ESPECIAL S A SCOBOGOTA4941.00U12022n.a.n.a.4769796.50991.60...n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.
2DINASTIA INVERSIONES S ACOBARRANQUILLA4771.00U12007n.a.n.a.n.a.n.a....n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.
3BACKBONE COMUNICACIONES LTDACOBOGOTA6190.00U12022n.a.n.a.4769348.62991.51...1170331371.60874868.65365.68532706277.08n.a.n.a.n.a.n.a.
4MACAOL ESPINOSA SASCOBOGOTA6820.00U12022n.a.n.a.4769148991.47...16579952.64303235126.75245349127.62n.a.n.a.n.a.n.a.
..................................................................
9995GRADISPAN LTDACOBOGOTA4631.00U12011n.a.n.a.n.a.n.a....n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.1509000776.75
9996CONTACTO ESTRATEGICO OUTSOURCING CONTABLE S A SCOBOGOTA6920.00U12022n.a.n.a.3736339.15776.75...1012683.30321.541032912.11431.74920263.43478.67n.a.n.a.n.a.n.a.
9997JOSHUA CAFE IRLANDES S A SCOBOGOTA5610.00U12018n.a.n.a.n.a.n.a....n.a.n.a.1827067.15763.681353686704.11880349496.94293967151.32
9998PROYECTO AGUAS DEL BOSQUE S A SCOMEDELLIN4110.00U12021n.a.n.a.n.a.n.a....n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.
9999GRUPO INVERSIONES SYNERGY SASCOPOPAYAN4110.00U12020n.a.n.a.n.a.n.a....136867.8043.46n.a.n.a.n.a.n.a.n.a.n.a.n.a.n.a.
\n", + "

10000 rows × 32 columns

\n", + "
" + ], + "text/plain": [ + " Company name Latin alphabet Country ISO code \\\n", + "0 CONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE... CO \n", + "1 AGRET CARGA NACIONAL Y ESPECIAL S A S CO \n", + "2 DINASTIA INVERSIONES S A CO \n", + "3 BACKBONE COMUNICACIONES LTDA CO \n", + "4 MACAOL ESPINOSA SAS CO \n", + "... ... ... \n", + "9995 GRADISPAN LTDA CO \n", + "9996 CONTACTO ESTRATEGICO OUTSOURCING CONTABLE S A S CO \n", + "9997 JOSHUA CAFE IRLANDES S A S CO \n", + "9998 PROYECTO AGUAS DEL BOSQUE S A S CO \n", + "9999 GRUPO INVERSIONES SYNERGY SAS CO \n", + "\n", + " City\\nLatin Alphabet NACE Rev. 2, core code (4 digits) \\\n", + "0 CALI 4299.00 \n", + "1 BOGOTA 4941.00 \n", + "2 BARRANQUILLA 4771.00 \n", + "3 BOGOTA 6190.00 \n", + "4 BOGOTA 6820.00 \n", + "... ... ... \n", + "9995 BOGOTA 4631.00 \n", + "9996 BOGOTA 6920.00 \n", + "9997 BOGOTA 5610.00 \n", + "9998 MEDELLIN 4110.00 \n", + "9999 POPAYAN 4110.00 \n", + "\n", + " Consolidation code Last avail. year \\\n", + "0 U1 2022 \n", + "1 U1 2022 \n", + "2 U1 2007 \n", + "3 U1 2022 \n", + "4 U1 2022 \n", + "... ... ... \n", + "9995 U1 2011 \n", + "9996 U1 2022 \n", + "9997 U1 2018 \n", + "9998 U1 2021 \n", + "9999 U1 2020 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2023 \\\n", + "0 n.a. \n", + "1 n.a. \n", + "2 n.a. \n", + "3 n.a. \n", + "4 n.a. \n", + "... ... \n", + "9995 n.a. \n", + "9996 n.a. \n", + "9997 n.a. \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2023 \\\n", + "0 n.a. \n", + "1 n.a. \n", + "2 n.a. \n", + "3 n.a. \n", + "4 n.a. \n", + "... ... \n", + "9995 n.a. \n", + "9996 n.a. \n", + "9997 n.a. \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2022 \\\n", + "0 4769810 \n", + "1 4769796.50 \n", + "2 n.a. \n", + "3 4769348.62 \n", + "4 4769148 \n", + "... ... \n", + "9995 n.a. \n", + "9996 3736339.15 \n", + "9997 n.a. \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2022 ... \\\n", + "0 991.60 ... \n", + "1 991.60 ... \n", + "2 n.a. ... \n", + "3 991.51 ... \n", + "4 991.47 ... \n", + "... ... ... \n", + "9995 n.a. ... \n", + "9996 776.75 ... \n", + "9997 n.a. ... \n", + "9998 n.a. ... \n", + "9999 n.a. ... \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2015 \\\n", + "0 58155914 \n", + "1 n.a. \n", + "2 n.a. \n", + "3 1170331 \n", + "4 165799 \n", + "... ... \n", + "9995 n.a. \n", + "9996 1012683.30 \n", + "9997 n.a. \n", + "9998 n.a. \n", + "9999 136867.80 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2015 \\\n", + "0 18465.30 \n", + "1 n.a. \n", + "2 n.a. \n", + "3 371.60 \n", + "4 52.64 \n", + "... ... \n", + "9995 n.a. \n", + "9996 321.54 \n", + "9997 n.a. \n", + "9998 n.a. \n", + "9999 43.46 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2014 \\\n", + "0 51813164 \n", + "1 n.a. \n", + "2 n.a. \n", + "3 874868.65 \n", + "4 303235 \n", + "... ... \n", + "9995 n.a. \n", + "9996 1032912.11 \n", + "9997 1827067.15 \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2014 \\\n", + "0 21656.86 \n", + "1 n.a. \n", + "2 n.a. \n", + "3 365.68 \n", + "4 126.75 \n", + "... ... \n", + "9995 n.a. \n", + "9996 431.74 \n", + "9997 763.68 \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2013 \\\n", + "0 23800831 \n", + "1 n.a. \n", + "2 n.a. \n", + "3 532706 \n", + "4 245349 \n", + "... ... \n", + "9995 n.a. \n", + "9996 920263.43 \n", + "9997 1353686 \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2013 \\\n", + "0 12379.76 \n", + "1 n.a. \n", + "2 n.a. \n", + "3 277.08 \n", + "4 127.62 \n", + "... ... \n", + "9995 n.a. \n", + "9996 478.67 \n", + "9997 704.11 \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2012 \\\n", + "0 n.a. \n", + "1 n.a. \n", + "2 n.a. \n", + "3 n.a. \n", + "4 n.a. \n", + "... ... \n", + "9995 n.a. \n", + "9996 n.a. \n", + "9997 880349 \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2012 \\\n", + "0 n.a. \n", + "1 n.a. \n", + "2 n.a. \n", + "3 n.a. \n", + "4 n.a. \n", + "... ... \n", + "9995 n.a. \n", + "9996 n.a. \n", + "9997 496.94 \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2011 \\\n", + "0 n.a. \n", + "1 n.a. \n", + "2 n.a. \n", + "3 n.a. \n", + "4 n.a. \n", + "... ... \n", + "9995 1509000 \n", + "9996 n.a. \n", + "9997 293967 \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2011 \n", + "0 n.a. \n", + "1 n.a. \n", + "2 n.a. \n", + "3 n.a. \n", + "4 n.a. \n", + "... ... \n", + "9995 776.75 \n", + "9996 n.a. \n", + "9997 151.32 \n", + "9998 n.a. \n", + "9999 n.a. \n", + "\n", + "[10000 rows x 32 columns]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df=pd.read_excel(r\"C:\\Users\\HP\\Documents\\qlab\\QLAB_Summer_Python\\_data\\bogota_firms.xlsx\",sheet_name='Results')\n", + "df.drop(columns=df.columns[0]) # This removes the first column that was named 'Unnamed: 0' in the excel file. It is not interesting to see it" + ] + }, + { + "cell_type": "markdown", + "id": "ec94f409", + "metadata": {}, + "source": [ + "Before viewing the descriptive statistics of the dataset it is convenient to replace the `n.a.` strings by numpy type objects that represent a `np.nan`. We do this using `df.replace`:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "07166282", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Company name Latin alphabetCountry ISO codeCity\\nLatin AlphabetNACE Rev. 2, core code (4 digits)Consolidation codeLast avail. yearOperating revenue (Turnover)\\nth LCU 2023Operating revenue (Turnover)\\nth USD 2023Operating revenue (Turnover)\\nth LCU 2022Operating revenue (Turnover)\\nth USD 2022...Operating revenue (Turnover)\\nth LCU 2015Operating revenue (Turnover)\\nth USD 2015Operating revenue (Turnover)\\nth LCU 2014Operating revenue (Turnover)\\nth USD 2014Operating revenue (Turnover)\\nth LCU 2013Operating revenue (Turnover)\\nth USD 2013Operating revenue (Turnover)\\nth LCU 2012Operating revenue (Turnover)\\nth USD 2012Operating revenue (Turnover)\\nth LCU 2011Operating revenue (Turnover)\\nth USD 2011
0CONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE...COCALI4299.00U12022NaNNaN4769810.00991.60...58155914.0018465.3051813164.0021656.8623800831.0012379.76NaNNaNNaNNaN
1AGRET CARGA NACIONAL Y ESPECIAL S A SCOBOGOTA4941.00U12022NaNNaN4769796.50991.60...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
2DINASTIA INVERSIONES S ACOBARRANQUILLA4771.00U12007NaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
3BACKBONE COMUNICACIONES LTDACOBOGOTA6190.00U12022NaNNaN4769348.62991.51...1170331.00371.60874868.65365.68532706.00277.08NaNNaNNaNNaN
4MACAOL ESPINOSA SASCOBOGOTA6820.00U12022NaNNaN4769148.00991.47...165799.0052.64303235.00126.75245349.00127.62NaNNaNNaNNaN
..................................................................
9995GRADISPAN LTDACOBOGOTA4631.00U12011NaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaN1509000.00776.75
9996CONTACTO ESTRATEGICO OUTSOURCING CONTABLE S A SCOBOGOTA6920.00U12022NaNNaN3736339.15776.75...1012683.30321.541032912.11431.74920263.43478.67NaNNaNNaNNaN
9997JOSHUA CAFE IRLANDES S A SCOBOGOTA5610.00U12018NaNNaNNaNNaN...NaNNaN1827067.15763.681353686.00704.11880349.00496.94293967.00151.32
9998PROYECTO AGUAS DEL BOSQUE S A SCOMEDELLIN4110.00U12021NaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
9999GRUPO INVERSIONES SYNERGY SASCOPOPAYAN4110.00U12020NaNNaNNaNNaN...136867.8043.46NaNNaNNaNNaNNaNNaNNaNNaN
\n", + "

10000 rows × 32 columns

\n", + "
" + ], + "text/plain": [ + " Company name Latin alphabet Country ISO code \\\n", + "0 CONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE... CO \n", + "1 AGRET CARGA NACIONAL Y ESPECIAL S A S CO \n", + "2 DINASTIA INVERSIONES S A CO \n", + "3 BACKBONE COMUNICACIONES LTDA CO \n", + "4 MACAOL ESPINOSA SAS CO \n", + "... ... ... \n", + "9995 GRADISPAN LTDA CO \n", + "9996 CONTACTO ESTRATEGICO OUTSOURCING CONTABLE S A S CO \n", + "9997 JOSHUA CAFE IRLANDES S A S CO \n", + "9998 PROYECTO AGUAS DEL BOSQUE S A S CO \n", + "9999 GRUPO INVERSIONES SYNERGY SAS CO \n", + "\n", + " City\\nLatin Alphabet NACE Rev. 2, core code (4 digits) \\\n", + "0 CALI 4299.00 \n", + "1 BOGOTA 4941.00 \n", + "2 BARRANQUILLA 4771.00 \n", + "3 BOGOTA 6190.00 \n", + "4 BOGOTA 6820.00 \n", + "... ... ... \n", + "9995 BOGOTA 4631.00 \n", + "9996 BOGOTA 6920.00 \n", + "9997 BOGOTA 5610.00 \n", + "9998 MEDELLIN 4110.00 \n", + "9999 POPAYAN 4110.00 \n", + "\n", + " Consolidation code Last avail. year \\\n", + "0 U1 2022 \n", + "1 U1 2022 \n", + "2 U1 2007 \n", + "3 U1 2022 \n", + "4 U1 2022 \n", + "... ... ... \n", + "9995 U1 2011 \n", + "9996 U1 2022 \n", + "9997 U1 2018 \n", + "9998 U1 2021 \n", + "9999 U1 2020 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2023 \\\n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "... ... \n", + "9995 NaN \n", + "9996 NaN \n", + "9997 NaN \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2023 \\\n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "... ... \n", + "9995 NaN \n", + "9996 NaN \n", + "9997 NaN \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2022 \\\n", + "0 4769810.00 \n", + "1 4769796.50 \n", + "2 NaN \n", + "3 4769348.62 \n", + "4 4769148.00 \n", + "... ... \n", + "9995 NaN \n", + "9996 3736339.15 \n", + "9997 NaN \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2022 ... \\\n", + "0 991.60 ... \n", + "1 991.60 ... \n", + "2 NaN ... \n", + "3 991.51 ... \n", + "4 991.47 ... \n", + "... ... ... \n", + "9995 NaN ... \n", + "9996 776.75 ... \n", + "9997 NaN ... \n", + "9998 NaN ... \n", + "9999 NaN ... \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2015 \\\n", + "0 58155914.00 \n", + "1 NaN \n", + "2 NaN \n", + "3 1170331.00 \n", + "4 165799.00 \n", + "... ... \n", + "9995 NaN \n", + "9996 1012683.30 \n", + "9997 NaN \n", + "9998 NaN \n", + "9999 136867.80 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2015 \\\n", + "0 18465.30 \n", + "1 NaN \n", + "2 NaN \n", + "3 371.60 \n", + "4 52.64 \n", + "... ... \n", + "9995 NaN \n", + "9996 321.54 \n", + "9997 NaN \n", + "9998 NaN \n", + "9999 43.46 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2014 \\\n", + "0 51813164.00 \n", + "1 NaN \n", + "2 NaN \n", + "3 874868.65 \n", + "4 303235.00 \n", + "... ... \n", + "9995 NaN \n", + "9996 1032912.11 \n", + "9997 1827067.15 \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2014 \\\n", + "0 21656.86 \n", + "1 NaN \n", + "2 NaN \n", + "3 365.68 \n", + "4 126.75 \n", + "... ... \n", + "9995 NaN \n", + "9996 431.74 \n", + "9997 763.68 \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2013 \\\n", + "0 23800831.00 \n", + "1 NaN \n", + "2 NaN \n", + "3 532706.00 \n", + "4 245349.00 \n", + "... ... \n", + "9995 NaN \n", + "9996 920263.43 \n", + "9997 1353686.00 \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2013 \\\n", + "0 12379.76 \n", + "1 NaN \n", + "2 NaN \n", + "3 277.08 \n", + "4 127.62 \n", + "... ... \n", + "9995 NaN \n", + "9996 478.67 \n", + "9997 704.11 \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2012 \\\n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "... ... \n", + "9995 NaN \n", + "9996 NaN \n", + "9997 880349.00 \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2012 \\\n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "... ... \n", + "9995 NaN \n", + "9996 NaN \n", + "9997 496.94 \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2011 \\\n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "... ... \n", + "9995 1509000.00 \n", + "9996 NaN \n", + "9997 293967.00 \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2011 \n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "... ... \n", + "9995 776.75 \n", + "9996 NaN \n", + "9997 151.32 \n", + "9998 NaN \n", + "9999 NaN \n", + "\n", + "[10000 rows x 32 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.replace('n.a.', np.nan, inplace=True)\n", + "df.drop(columns=df.columns[0]) # With this we see the dataset again without the first column." + ] + }, + { + "cell_type": "markdown", + "id": "e7079d70", + "metadata": {}, + "source": [ + "With the `describe` method we obtain some descriptive statistics of the provided dataset. For example, we obtain the total number of observations, the mean, the standard error" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "03fafb10", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
NACE Rev. 2, core code (4 digits)Last avail. yearOperating revenue (Turnover)\\nth LCU 2023Operating revenue (Turnover)\\nth USD 2023Operating revenue (Turnover)\\nth LCU 2022Operating revenue (Turnover)\\nth USD 2022Operating revenue (Turnover)\\nth LCU 2021Operating revenue (Turnover)\\nth USD 2021Operating revenue (Turnover)\\nth LCU 2020Operating revenue (Turnover)\\nth USD 2020...Operating revenue (Turnover)\\nth LCU 2015Operating revenue (Turnover)\\nth USD 2015Operating revenue (Turnover)\\nth LCU 2014Operating revenue (Turnover)\\nth USD 2014Operating revenue (Turnover)\\nth LCU 2013Operating revenue (Turnover)\\nth USD 2013Operating revenue (Turnover)\\nth LCU 2012Operating revenue (Turnover)\\nth USD 2012Operating revenue (Turnover)\\nth LCU 2011Operating revenue (Turnover)\\nth USD 2011
count9650.0010000.0055.0055.007454.007454.006271.006271.005246.005246.00...4357.004357.003994.003994.003922.003922.001468.001468.001064.001064.00
mean4842.842020.303583175.12874.734220827.26877.843937949.01989.942954496.61857.55...3155237.671001.923416878.911428.363623917.751884.962810937.981586.422684463.991382.04
std2167.763.67272228.7458.96445583.6792.4620368882.775116.247380230.282142.37...17512166.225560.3542882675.8417924.0940679698.3921159.1318713756.2610563.566710600.983454.25
min100.002005.003095243.01776.771805655.53375.380.010.00100.000.03...1.000.005.000.000.000.000.000.000.000.00
25%4299.002021.003382512.31824.053945187.20820.482460785.78619.151497158.29434.60...1111425.00353.31949732.76396.97851848.66443.08832639.00470.01901411.75464.00
50%4690.002022.003491920.01872.844187058.19870.603272327.00822.642463450.86715.10...2119000.00672.811944780.92813.361706075.06887.401574790.37888.941629500.00838.78
75%6120.002022.003797109.26923.414471133.63929.943901790.50980.063343052.20970.44...3190847.561013.142993913.301251.402801967.581457.412479645.551399.712353684.581216.02
max9609.002023.004102740.33979.9325722872.155347.571397339800.00350988.12279274000.0081068.83...1090990994.00346404.632675146830.001118157.372017636054.001049452.85697567000.00393763.04114176000.0058771.81
\n", + "

8 rows × 28 columns

\n", + "
" + ], + "text/plain": [ + " NACE Rev. 2, core code (4 digits) Last avail. year \\\n", + "count 9650.00 10000.00 \n", + "mean 4842.84 2020.30 \n", + "std 2167.76 3.67 \n", + "min 100.00 2005.00 \n", + "25% 4299.00 2021.00 \n", + "50% 4690.00 2022.00 \n", + "75% 6120.00 2022.00 \n", + "max 9609.00 2023.00 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2023 \\\n", + "count 55.00 \n", + "mean 3583175.12 \n", + "std 272228.74 \n", + "min 3095243.01 \n", + "25% 3382512.31 \n", + "50% 3491920.01 \n", + "75% 3797109.26 \n", + "max 4102740.33 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2023 \\\n", + "count 55.00 \n", + "mean 874.73 \n", + "std 58.96 \n", + "min 776.77 \n", + "25% 824.05 \n", + "50% 872.84 \n", + "75% 923.41 \n", + "max 979.93 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2022 \\\n", + "count 7454.00 \n", + "mean 4220827.26 \n", + "std 445583.67 \n", + "min 1805655.53 \n", + "25% 3945187.20 \n", + "50% 4187058.19 \n", + "75% 4471133.63 \n", + "max 25722872.15 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2022 \\\n", + "count 7454.00 \n", + "mean 877.84 \n", + "std 92.46 \n", + "min 375.38 \n", + "25% 820.48 \n", + "50% 870.60 \n", + "75% 929.94 \n", + "max 5347.57 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2021 \\\n", + "count 6271.00 \n", + "mean 3937949.01 \n", + "std 20368882.77 \n", + "min 0.01 \n", + "25% 2460785.78 \n", + "50% 3272327.00 \n", + "75% 3901790.50 \n", + "max 1397339800.00 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2021 \\\n", + "count 6271.00 \n", + "mean 989.94 \n", + "std 5116.24 \n", + "min 0.00 \n", + "25% 619.15 \n", + "50% 822.64 \n", + "75% 980.06 \n", + "max 350988.12 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2020 \\\n", + "count 5246.00 \n", + "mean 2954496.61 \n", + "std 7380230.28 \n", + "min 100.00 \n", + "25% 1497158.29 \n", + "50% 2463450.86 \n", + "75% 3343052.20 \n", + "max 279274000.00 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2020 ... \\\n", + "count 5246.00 ... \n", + "mean 857.55 ... \n", + "std 2142.37 ... \n", + "min 0.03 ... \n", + "25% 434.60 ... \n", + "50% 715.10 ... \n", + "75% 970.44 ... \n", + "max 81068.83 ... \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2015 \\\n", + "count 4357.00 \n", + "mean 3155237.67 \n", + "std 17512166.22 \n", + "min 1.00 \n", + "25% 1111425.00 \n", + "50% 2119000.00 \n", + "75% 3190847.56 \n", + "max 1090990994.00 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2015 \\\n", + "count 4357.00 \n", + "mean 1001.92 \n", + "std 5560.35 \n", + "min 0.00 \n", + "25% 353.31 \n", + "50% 672.81 \n", + "75% 1013.14 \n", + "max 346404.63 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2014 \\\n", + "count 3994.00 \n", + "mean 3416878.91 \n", + "std 42882675.84 \n", + "min 5.00 \n", + "25% 949732.76 \n", + "50% 1944780.92 \n", + "75% 2993913.30 \n", + "max 2675146830.00 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2014 \\\n", + "count 3994.00 \n", + "mean 1428.36 \n", + "std 17924.09 \n", + "min 0.00 \n", + "25% 396.97 \n", + "50% 813.36 \n", + "75% 1251.40 \n", + "max 1118157.37 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2013 \\\n", + "count 3922.00 \n", + "mean 3623917.75 \n", + "std 40679698.39 \n", + "min 0.00 \n", + "25% 851848.66 \n", + "50% 1706075.06 \n", + "75% 2801967.58 \n", + "max 2017636054.00 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2013 \\\n", + "count 3922.00 \n", + "mean 1884.96 \n", + "std 21159.13 \n", + "min 0.00 \n", + "25% 443.08 \n", + "50% 887.40 \n", + "75% 1457.41 \n", + "max 1049452.85 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2012 \\\n", + "count 1468.00 \n", + "mean 2810937.98 \n", + "std 18713756.26 \n", + "min 0.00 \n", + "25% 832639.00 \n", + "50% 1574790.37 \n", + "75% 2479645.55 \n", + "max 697567000.00 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2012 \\\n", + "count 1468.00 \n", + "mean 1586.42 \n", + "std 10563.56 \n", + "min 0.00 \n", + "25% 470.01 \n", + "50% 888.94 \n", + "75% 1399.71 \n", + "max 393763.04 \n", + "\n", + " Operating revenue (Turnover)\\nth LCU 2011 \\\n", + "count 1064.00 \n", + "mean 2684463.99 \n", + "std 6710600.98 \n", + "min 0.00 \n", + "25% 901411.75 \n", + "50% 1629500.00 \n", + "75% 2353684.58 \n", + "max 114176000.00 \n", + "\n", + " Operating revenue (Turnover)\\nth USD 2011 \n", + "count 1064.00 \n", + "mean 1382.04 \n", + "std 3454.25 \n", + "min 0.00 \n", + "25% 464.00 \n", + "50% 838.78 \n", + "75% 1216.02 \n", + "max 58771.81 \n", + "\n", + "[8 rows x 28 columns]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.drop(columns=df.columns[0]).describe()" + ] + }, + { + "cell_type": "markdown", + "id": "34092f39", + "metadata": {}, + "source": [ + "2. Reshape the dataset from wide to long at year level. Drop columns if they are in Dollars. Keep columns from Operating revenue (Turnover) th LCU 2023 to the end, and the name of the firm.\n", + "\n", + "First we will remove the columns that have operating revenues in dollars." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "cf38f8ab", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['Operating revenue (Turnover)\\nth LCU 2023', 'Operating revenue (Turnover)\\nth USD 2023', 'Operating revenue (Turnover)\\nth LCU 2022', 'Operating revenue (Turnover)\\nth USD 2022', 'Operating revenue (Turnover)\\nth LCU 2021', 'Operating revenue (Turnover)\\nth USD 2021', 'Operating revenue (Turnover)\\nth LCU 2020', 'Operating revenue (Turnover)\\nth USD 2020', 'Operating revenue (Turnover)\\nth LCU 2019', 'Operating revenue (Turnover)\\nth USD 2019', 'Operating revenue (Turnover)\\nth LCU 2018', 'Operating revenue (Turnover)\\nth USD 2018', 'Operating revenue (Turnover)\\nth LCU 2017', 'Operating revenue (Turnover)\\nth USD 2017', 'Operating revenue (Turnover)\\nth LCU 2016', 'Operating revenue (Turnover)\\nth USD 2016', 'Operating revenue (Turnover)\\nth LCU 2015', 'Operating revenue (Turnover)\\nth USD 2015', 'Operating revenue (Turnover)\\nth LCU 2014', 'Operating revenue (Turnover)\\nth USD 2014', 'Operating revenue (Turnover)\\nth LCU 2013', 'Operating revenue (Turnover)\\nth USD 2013', 'Operating revenue (Turnover)\\nth LCU 2012', 'Operating revenue (Turnover)\\nth USD 2012', 'Operating revenue (Turnover)\\nth LCU 2011', 'Operating revenue (Turnover)\\nth USD 2011']\n" + ] + } + ], + "source": [ + "# We get the index of the first column of the set of columns that we want to extract.\n", + "a=list(df.columns).index('Operating revenue (Turnover)\\nth LCU 2023')\n", + "\n", + "# We use 'a' to create a list containing the names of the columns we are interested in.\n", + "b=list(df.columns[a:])\n", + "\n", + "# We printed the list to see what names we got.\n", + "print(b)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "37989099", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Operating revenue (Turnover)\\nth LCU 2023',\n", + " 'Operating revenue (Turnover)\\nth LCU 2022',\n", + " 'Operating revenue (Turnover)\\nth LCU 2021',\n", + " 'Operating revenue (Turnover)\\nth LCU 2020',\n", + " 'Operating revenue (Turnover)\\nth LCU 2019',\n", + " 'Operating revenue (Turnover)\\nth LCU 2018',\n", + " 'Operating revenue (Turnover)\\nth LCU 2017',\n", + " 'Operating revenue (Turnover)\\nth LCU 2016',\n", + " 'Operating revenue (Turnover)\\nth LCU 2015',\n", + " 'Operating revenue (Turnover)\\nth LCU 2014',\n", + " 'Operating revenue (Turnover)\\nth LCU 2013',\n", + " 'Operating revenue (Turnover)\\nth LCU 2012',\n", + " 'Operating revenue (Turnover)\\nth LCU 2011']" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# You can see that the even-numbered elements of the list contain the names of the columns we want to delete. Then, we extract the even elements in the following list.\n", + "b1=b[1::2]\n", + "\n", + "# With the 'drop' method we eliminate the columns whose name is in the previous list created.\n", + "df1=df.drop(columns=b1)\n", + "\n", + "# And with the following we can see that the columns denominated in dollars have been eliminated:\n", + "list(df1.columns[a:])" + ] + }, + { + "cell_type": "markdown", + "id": "a6a92c6e", + "metadata": {}, + "source": [ + "Now with the following loop we rename each year's operating profits as the year they were recorded. We do this to abbreviate the names (which only differ by year)." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "4ba1b6f2", + "metadata": {}, + "outputs": [], + "source": [ + "n,k=df1.shape # With this we make 'n' contain the total number of rows and 'k' the total number of columns.\n", + "\n", + "for x in range(a,k):\n", + " y=df1.columns[x][-4:] # With this we extract the last 4 strings of the column name, which conveniently forms the year of record.\n", + " df1.rename(columns={df1.columns[x]:y},inplace=True) # With this we rename each column. Now they are named only by the year in which they were registered." + ] + }, + { + "cell_type": "markdown", + "id": "3286e4d0", + "metadata": {}, + "source": [ + "We now reshape the data set from width to length at the year level. For this we use `pd.melt`" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "4c8b001d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0YearOR
01.002023NaN
12.002023NaN
23.002023NaN
34.002023NaN
45.002023NaN
............
1299959996.0020111509000.00
1299969997.002011NaN
1299979998.002011293967.00
1299989999.002011NaN
12999910000.002011NaN
\n", + "

130000 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 Year OR\n", + "0 1.00 2023 NaN\n", + "1 2.00 2023 NaN\n", + "2 3.00 2023 NaN\n", + "3 4.00 2023 NaN\n", + "4 5.00 2023 NaN\n", + "... ... ... ...\n", + "129995 9996.00 2011 1509000.00\n", + "129996 9997.00 2011 NaN\n", + "129997 9998.00 2011 293967.00\n", + "129998 9999.00 2011 NaN\n", + "129999 10000.00 2011 NaN\n", + "\n", + "[130000 rows x 3 columns]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# We use the first column (which is conveniently an index) as the identifier of each observation. That's why 'id_vars=[df1.columns[0]]'\n", + "# value_vars contains the names of the columns to be reshaped.\n", + "# var_name is the column that will contain the names of the collapsed columns. We call it 'Year' because the only difference between the data of column names is the year (and it only contains the years).\n", + "# The observations of each column are reshaped into a single column called 'OR', which stands for 'operating revenue' for short.\n", + "\n", + "df2=pd.melt(df1, id_vars=[df1.columns[0]], value_vars=list(df1.columns[a:k]), var_name='Year',value_name='OR') \n", + "\n", + "# We see the result.\n", + "df2" + ] + }, + { + "cell_type": "markdown", + "id": "861d33f5", + "metadata": {}, + "source": [ + "As you can see, a Dataframe long at year level has been generated. However, it is missing the column that indicates the name of the company to which each observation corresponds (and it is the only column that the problem also asks to maintain). So, we implement the following:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "21528867", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0YearORCompany name Latin alphabet
01.002023NaNCONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE...
12.002023NaNAGRET CARGA NACIONAL Y ESPECIAL S A S
23.002023NaNDINASTIA INVERSIONES S A
34.002023NaNBACKBONE COMUNICACIONES LTDA
45.002023NaNMACAOL ESPINOSA SAS
...............
1299959996.0020111509000.00GRADISPAN LTDA
1299969997.002011NaNCONTACTO ESTRATEGICO OUTSOURCING CONTABLE S A S
1299979998.002011293967.00JOSHUA CAFE IRLANDES S A S
1299989999.002011NaNPROYECTO AGUAS DEL BOSQUE S A S
12999910000.002011NaNGRUPO INVERSIONES SYNERGY SAS
\n", + "

130000 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 Year OR \\\n", + "0 1.00 2023 NaN \n", + "1 2.00 2023 NaN \n", + "2 3.00 2023 NaN \n", + "3 4.00 2023 NaN \n", + "4 5.00 2023 NaN \n", + "... ... ... ... \n", + "129995 9996.00 2011 1509000.00 \n", + "129996 9997.00 2011 NaN \n", + "129997 9998.00 2011 293967.00 \n", + "129998 9999.00 2011 NaN \n", + "129999 10000.00 2011 NaN \n", + "\n", + " Company name Latin alphabet \n", + "0 CONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE... \n", + "1 AGRET CARGA NACIONAL Y ESPECIAL S A S \n", + "2 DINASTIA INVERSIONES S A \n", + "3 BACKBONE COMUNICACIONES LTDA \n", + "4 MACAOL ESPINOSA SAS \n", + "... ... \n", + "129995 GRADISPAN LTDA \n", + "129996 CONTACTO ESTRATEGICO OUTSOURCING CONTABLE S A S \n", + "129997 JOSHUA CAFE IRLANDES S A S \n", + "129998 PROYECTO AGUAS DEL BOSQUE S A S \n", + "129999 GRUPO INVERSIONES SYNERGY SAS \n", + "\n", + "[130000 rows x 4 columns]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df3=df[df.columns[0:2]] # We extract the first and second columns from the original Dataframe.\n", + "\n", + "# Now we do the following merge. The first column serves as the identifier of each observation (that's why 'on=df1.columns[0]').\n", + "df4=pd.merge(df2, df3, on=df1.columns[0], how='left')\n", + "df4" + ] + }, + { + "cell_type": "markdown", + "id": "e76733dc", + "metadata": {}, + "source": [ + "Now we make the following arrangements to the DataFrame to improve its visualization:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "2bcbaeb2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Company name Latin alphabetYearOR
0GRUPO INVERSIONES SYNERGY SAS2011.00NaN
1FUNDACION SOCIAL FAMILIA MUJER ADOLESCENCIA IN...2011.00NaN
2MANRIQUE Y COMPANIA S C S2011.001764000.00
3INVERSIONESFORMENTERA LTDA2011.00NaN
4LUZ Y DECORACION S A S2011.00NaN
............
129995GM COMUNICACIONES Y ELECTRONICA SAS2023.00NaN
129996COR INGENIEROS SAS2023.00NaN
129997INFORDATA S A S2023.00NaN
129998LABORVIDA IPS S A S2023.00NaN
129999CONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE...2023.00NaN
\n", + "

130000 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " Company name Latin alphabet Year OR\n", + "0 GRUPO INVERSIONES SYNERGY SAS 2011.00 NaN\n", + "1 FUNDACION SOCIAL FAMILIA MUJER ADOLESCENCIA IN... 2011.00 NaN\n", + "2 MANRIQUE Y COMPANIA S C S 2011.00 1764000.00\n", + "3 INVERSIONESFORMENTERA LTDA 2011.00 NaN\n", + "4 LUZ Y DECORACION S A S 2011.00 NaN\n", + "... ... ... ...\n", + "129995 GM COMUNICACIONES Y ELECTRONICA SAS 2023.00 NaN\n", + "129996 COR INGENIEROS SAS 2023.00 NaN\n", + "129997 INFORDATA S A S 2023.00 NaN\n", + "129998 LABORVIDA IPS S A S 2023.00 NaN\n", + "129999 CONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE... 2023.00 NaN\n", + "\n", + "[130000 rows x 3 columns]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# We delete the first column since it is no longer useful to us.\n", + "df4.drop(columns=df4.columns[0],inplace=True)\n", + "\n", + "# We reorder the columns as follows:\n", + "order=[df4.columns[2],df4.columns[0],df4.columns[1]]\n", + "df4=df4[order]\n", + "\n", + "# We sort the data according to the year in ascending order.\n", + "df4=df4.sort_values(by='Year', ascending=True)\n", + "\n", + "# We reset the index.\n", + "df4=df4.reset_index(drop=True)\n", + "\n", + "# We convert the year data from string format to numpy format. This will be useful for the following questions as we will see.\n", + "df4['Year']=pd.DataFrame(np.float64(df4.iloc[:,1]))\n", + "\n", + "# Let's see that the requested Dataframe was obtained.\n", + "df4" + ] + }, + { + "cell_type": "markdown", + "id": "573eb7c9", + "metadata": {}, + "source": [ + "3. Rename the columns and use short names for each column. This new name should be shorter than 20 characters.\n", + "\n", + "Some of the Dataframe columns obtained previously were already renamed with a more appropriate name. Remember that 'Year' indicates the year in which the operating revenue was recorded and 'OR' indicates the operating revenue in local currency obtained in a given year (this name is a way of abbreviating 'operating revenue').\n", + "\n", + "All that remains is to rename the column called 'Company name Latin alphabet' and we do it as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "1fccd8a9", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CompanyYearOR
0GRUPO INVERSIONES SYNERGY SAS2011.00NaN
1FUNDACION SOCIAL FAMILIA MUJER ADOLESCENCIA IN...2011.00NaN
2MANRIQUE Y COMPANIA S C S2011.001764000.00
3INVERSIONESFORMENTERA LTDA2011.00NaN
4LUZ Y DECORACION S A S2011.00NaN
............
129995GM COMUNICACIONES Y ELECTRONICA SAS2023.00NaN
129996COR INGENIEROS SAS2023.00NaN
129997INFORDATA S A S2023.00NaN
129998LABORVIDA IPS S A S2023.00NaN
129999CONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE...2023.00NaN
\n", + "

130000 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " Company Year OR\n", + "0 GRUPO INVERSIONES SYNERGY SAS 2011.00 NaN\n", + "1 FUNDACION SOCIAL FAMILIA MUJER ADOLESCENCIA IN... 2011.00 NaN\n", + "2 MANRIQUE Y COMPANIA S C S 2011.00 1764000.00\n", + "3 INVERSIONESFORMENTERA LTDA 2011.00 NaN\n", + "4 LUZ Y DECORACION S A S 2011.00 NaN\n", + "... ... ... ...\n", + "129995 GM COMUNICACIONES Y ELECTRONICA SAS 2023.00 NaN\n", + "129996 COR INGENIEROS SAS 2023.00 NaN\n", + "129997 INFORDATA S A S 2023.00 NaN\n", + "129998 LABORVIDA IPS S A S 2023.00 NaN\n", + "129999 CONSORCIO CONTINENTAL PARA EL DESARROLLO SOSTE... 2023.00 NaN\n", + "\n", + "[130000 rows x 3 columns]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df4.rename(columns={df4.columns[0]:'Company'},inplace=True)\n", + "df4" + ] + }, + { + "cell_type": "markdown", + "id": "c011a5f2", + "metadata": {}, + "source": [ + "Where 'company' then indicates the name of the company.\n", + "\n", + "You can see that a DataFrame was obtained with columns with shorter names that respect what was indicated in the question." + ] + }, + { + "cell_type": "markdown", + "id": "61f05737", + "metadata": {}, + "source": [ + "4. Generate a dictionary with the definition of all the columns in your dataset.\n", + "\n", + "The definition of each column was already explained in the previous question. So, we take these definitions and put them into the following required dictionary." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "7388cab0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'Company': 'Company name',\n", + " 'Year': 'Year in which operating revenue was recorded',\n", + " 'OR': 'Operating revenue (in local currency units)'}" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dic={df4.columns[0]:'Company name',\n", + " df4.columns[1]:'Year in which operating revenue was recorded',\n", + " df4.columns[2]:'Operating revenue (in local currency units)'}\n", + "dic" + ] + }, + { + "cell_type": "markdown", + "id": "6c133f83", + "metadata": {}, + "source": [ + "5. Generate a function named as calling_data that take as input the `name of the firm or list of names (firm_name)` and `(start_year, end_year)`. The function should return a tuple with a dataframe with the same format as the one resulting from task 1-4, and your dictionary of columns. The function should work without `end_year`. It means it only takes `start_year`.\n", + "\n", + "In the following lines of code we implement the required function. The detailed explanation is shown on the same lines." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "ba1f84a2", + "metadata": {}, + "outputs": [], + "source": [ + "def call_data(firm_name,start_year,end_year=2023,df4=df4): # By setting 'end_year=2023' we make this value equal to 2023 by default and do not necessarily require an input. \n", + " # By setting 'df4=df4' we make this value equal to df4 by default and does not necessarily require an input.\n", + " # In the following loop each name is taken from the name list 'firm_name':\n", + " for name in firm_name: \n", + " \n", + " # With this we verify if the company name exists within the dataset.\n", + " c=(df4['Company'] == name).any() # c is True if the company name exists, False otherwise.\n", + " \n", + " if c==False: \n", + " # If c is False, then the following is printed and the function terminates.\n", + " result='One of the company names entered is not found within the dataset.'\n", + " print(result)\n", + " return result\n", + " \n", + " else:\n", + " # If c is True, then the following lines continue executing.\n", + " \n", + " # With this we verify if star_year has a value that exists within the years that the DataFrame has for the ORs.\n", + " d=(df4['Year'] == start_year).any() # d is True if the start year exists, False otherwise.\n", + " \n", + " # With this we verify if end_year has a value that exists within the years that the DataFrame has for the ORs.\n", + " d_=(df4['Year'] == end_year).any() # d_ is True if the end year exists, False otherwise.\n", + " \n", + " if d==False or d_==False:\n", + " # If any of the years does not exist in the dataset, then the following is printed and the function terminates.\n", + " result='One of the years entered is not found in the dataset.'\n", + " print(result)\n", + " return result\n", + " \n", + " else:\n", + " # If both years entered exist, then it continues executing.\n", + " \n", + " # e contains a pd.series of booleans where is True if the company name is different from the one entered.\n", + " e=df4['Company']!=name\n", + " # With pd.drop and using e we delete all the rows that contain companies different from the one entered.\n", + " df5=df4.drop(df4[e].index) # df.drop removes rows where the boolean series has True.\n", + " \n", + " # f contains a pd.string of booleans where is True if the year is less than the starting year entered.\n", + " f=df5['Year']end_year\n", + " # With pd.drop and using g we eliminate all the rows that contain years greater than the final year entered.\n", + " df5=df5.drop(df5[g].index)\n", + " \n", + " if firm_name.index(name)==0:\n", + " # If the company name is the first in the list of names entered then the following Dataframe is created.\n", + " df6=df5.copy(deep=True) # The created Dataframe is a copy of the previously obtained dataframe.\n", + " else:\n", + " # If the company name is not the first in the list of names entered, then we concatenate it to the first Dataframe created from df5.copy\n", + " df6=pd.concat([df6,df5],ignore_index=True) # with ignore_index=True we reset the index every time we concatenate.\n", + " \n", + " # We create the required tuple, the first element will be the Dataframe with the indicated format, and the second element is the previously created dictionary.\n", + " result=(df6,dic)\n", + " \n", + " return result" + ] + }, + { + "cell_type": "markdown", + "id": "a7fb3eb6", + "metadata": {}, + "source": [ + "With the function created, let's now look at some company names that we can enter" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "ee47fc59", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['EXPRESOS ESPECIALES EL DORADO S A EXPRELDORADO S A',\n", + " 'DISECONST S A S',\n", + " 'REDISEG LTDA',\n", + " 'LAURA ROBLEDO S A S',\n", + " 'AMIAGRO PALMA S A S',\n", + " 'HUMAN FOREST SAS',\n", + " 'LATIN PRODUCTS S A S',\n", + " 'M&M SOLUCIONES EN CONCRETO S A',\n", + " 'EXTRA GAS DE COLOMBIA S A S',\n", + " 'AGROUNIDOS EL PALMAR S A S',\n", + " 'CM&M ASESORES DE SEGURO LTDA',\n", + " 'COMERCIALIZADORA LEON P SAS',\n", + " 'PATOLOGIA Y CITOLOGIA S A S',\n", + " 'INVERBODEGON S A S',\n", + " 'FUQUEN GUZMAN DIANA',\n", + " 'DOPPELMAYR COLOMBIA S A S',\n", + " 'C I EBENEZER SAS',\n", + " 'GAS Y DRYWALL S A S',\n", + " 'PAEZ MUNOZ LUDWIG',\n", + " 'TRANSCONSULT SUCURSAL COLOMBIA',\n", + " 'COOPERATIVA POLISERVICIOS DE SALUD',\n", + " 'MULTIFLEJES SAS',\n", + " 'CAUCAPLAST SAS',\n", + " 'ENGINEERING PROJECTS AND SERVICES S A S',\n", + " 'ACQUA VITRUVIO S A S',\n", + " 'GLOBAL INDTECH S A S',\n", + " 'PROMOTORA CAFFETO S A S',\n", + " 'DISTRIFORKYS SAS',\n", + " 'HDR OBRAS CIVILES S A S',\n", + " 'DISTRICOSTURA LTDA',\n", + " 'CLICKARTE SAS',\n", + " 'JIBC S A S',\n", + " 'PARALIA SAS',\n", + " 'COMERCIAL INGEOELECTRICA SAS',\n", + " 'CONSTRUCTORA EXCELSIOR S A S',\n", + " 'INVERSIONES OMAGU S A S',\n", + " 'COLOMBO GAS SAS E S P',\n", + " 'BKF INTERNATIONAL S A',\n", + " 'LUCKIA COLOMBIA S A S',\n", + " 'COMESTIBLES AMO S A S',\n", + " 'ARRESERVIS S A S',\n", + " 'AGROFESA S A S',\n", + " 'DISTRIBUCIONES DE LA CASA DE BOSCONIA S A S ZOMAC',\n", + " 'DOBLON S A S',\n", + " 'ORGANIZACION MINERVA S A S',\n", + " 'MEDEPCO S A S',\n", + " 'COLEGIO INTERNACIONAL SEK COLOMBIA S A S',\n", + " 'RECUPERADORES DE MATERIALES INDUSTRIALES SAS ESP',\n", + " 'SERVICIOS DE MANTENIMIENTO SIGLO XXI LTDA',\n", + " 'TRANSPORTES MARTINEZ RIOS S A S',\n", + " 'COOPERATIVA NACIONAL DE AHORRO Y CREDITO CREAR COOPERATIVA OFICI',\n", + " 'CENTRO EXCELENCIA DE CUIDADOS EN SALUD ESENCIAL INSTITUCION PRESTADORA DE SERVICIOS DE SALUD S A S',\n", + " 'POLIMEROS DEL CARIBE S A S',\n", + " 'HOME TV COMUNICACIONES S A S',\n", + " 'AGROPECUARIA JR BRASILIA S A S',\n", + " 'GALVEZ GIRALDO NOEL',\n", + " 'PRESQUIM SAS',\n", + " 'GURUCEAGA S C S',\n", + " 'CHOCOLATEROS ALIADOS DE COLOMBIA SAS',\n", + " 'GRUPO QUIVERCY SAS',\n", + " 'JARDINES URBANOS S A S',\n", + " 'C TORO E HIJOS S A S',\n", + " 'SUPLIDORES TECHNIKOS S A',\n", + " 'BAREKE TEX S A S',\n", + " 'MEJIA RESTREPO NICOLAS ESTEBAN',\n", + " 'INVERSIONES ICATU S A S',\n", + " 'NOVAG S A S',\n", + " 'BARGOL ASSETS S A COLOMBIA',\n", + " 'DISTRIBUCIONES FERRE MAKRO S A S',\n", + " 'LA MAYOR VIDRIERA S A S',\n", + " 'RITUAL BOTANICO S A S',\n", + " 'PULIDO GARZON MANUEL FACUNDO',\n", + " 'FERRETERIA SURTINDUSTRIAS LTDA EN LIQUIDACION',\n", + " 'MOTOS Y MOTORES J D S A S',\n", + " 'MATERIALES TRINIDAD S A S',\n", + " 'MADERAS Y DECORACIONES H S S A S',\n", + " 'PORTAFOLIO INTEGRAL DEL MILENIO S A S',\n", + " 'ZULUAGA ATEHORTUA GUSTAVO',\n", + " 'MERQUEO INTERNATIONAL S.A.S',\n", + " 'HSE GROUP SAS',\n", + " 'CREARQ SOLUCIONES ARQUITECTONICAS SAS',\n", + " 'GRUPO EMPRESARIAL LA SEBASTIANA SAS',\n", + " 'GONZALEZ JORGE ELIECER',\n", + " 'INGENIERIA Y ESPECIALIDADES S A S',\n", + " 'GRUPO DE INVERSIONISTAS DE LA COSTA S A S',\n", + " 'ANTIOQUENA DE TRANSPORTES S A S',\n", + " 'IDEKA S A S',\n", + " 'RECUPERADORA DE PAPEL JARAMILLO GUASCA Y COMPANIA S C S',\n", + " 'CALL CENTER MALL S A S',\n", + " 'GRUPO INVERSIONES BM S A S',\n", + " 'RIVERA ROZO RODOLFO ANTONIO',\n", + " 'BIFOCUS SAS',\n", + " 'ALVAREZ BOTERO SAMUEL',\n", + " 'MAXIVISION S A S IPS',\n", + " 'FERRETERIA LA FERIA DE LA LAMINA LTDA',\n", + " 'CDC MINERALES S A S',\n", + " 'GRUPO CREACION Y DESARROLLO S A S',\n", + " 'GO GOMEZ S A S',\n", + " 'RECAMPO S A S',\n", + " 'B R G SOCIEDAD DE INVERSIONES LTDA',\n", + " 'PROMOTORA PARQUE DE GALILEA S A S',\n", + " 'CHD INGENIEROS S A S',\n", + " 'SENSO PACK S A S',\n", + " 'DELBEN S A S',\n", + " 'ALVAREZ SALDARRIAGA JHON ALEXANDER',\n", + " 'MARTINEZ ZULUAGA CAROLINA',\n", + " 'PRODUCTORA NACIONAL DE PLASTICOS S A S',\n", + " 'BENDECK SUAREZ ALFREDO',\n", + " 'DISTRITEEX S A S',\n", + " 'EMPRESAS PUBLICAS MUNICIPALES DE CANDELARIA S A S E S P',\n", + " 'CARBONES MAYORCA SAS',\n", + " 'OPERACION DE TRANSPORTE S A S',\n", + " 'PESQUERA VALLEMAR S A S',\n", + " 'COLOMBIANA DE PROYECTOS DE INGENIERIA & CONSTRUCCIONES S A S',\n", + " 'DEPOR INTERNATIONAL S A S',\n", + " 'ROTORCOIL S A S',\n", + " 'INVERSIONES BELLAVISTA Y COMPANIA S C S',\n", + " 'SALUD SEMILLAS SAS',\n", + " 'PROMO SALUD LTDA',\n", + " 'LUIS ENRIQUE MONTES PALACIO',\n", + " 'COMERCIALIZADORA INTERNACIONAL PROCESADORA DE PRODUCTOS AGROPECUARIOS S A',\n", + " 'ESTIBAS Y MADERAS LA PAZ S A S',\n", + " 'CONSTRUEMPLEO S A S',\n", + " 'CLINICA CEREN S A S',\n", + " 'FIDELITY S A S',\n", + " 'TOBAR Y TOBAR S A S',\n", + " 'COMPANIA DE INVERSIONES CONSTRUGANADERA SP S A S',\n", + " 'SUMAS IGUALES Y JURIDICAS S A S',\n", + " 'DALETH S C S',\n", + " 'E R A TEXTIL S A S',\n", + " 'ADRIANNA LIEVANO FASHION GROUP S A',\n", + " 'INVERSIONES SHESH SAS',\n", + " 'DROGUERIAS FAMI PHARMA S A S',\n", + " 'SOCIEDAD DE ADMINISTRACION DE INMUEBLES E INVERSIONES S A S',\n", + " 'CLINICA SANTA TERESITA DEL NINO JESUS S A',\n", + " 'CARPINTERO GONZALEZ JORGE ENRIQUE',\n", + " 'OSTEOAMERICA S A S',\n", + " 'IMPORLUZ S A S',\n", + " 'GEN MIL S A',\n", + " 'XIMA CONSTRUCCIONES Y CONSULTORIAS S A S',\n", + " 'CARLOS ALBERTO RIOS',\n", + " 'INGENIERIA MECANICA Y OBRA CIVILES SOLUCIONES S IMC SOLUCIONES S A S',\n", + " 'COMERCIALIZADORA DE AUTOPARTES FANAPARTS S A S',\n", + " 'CALZADO SCHOTTY SPORT S A S',\n", + " 'IQN S A S',\n", + " 'DISENOS Y CONSTRUCCIONES DEL CARIBE S A S ZOMAC',\n", + " 'HANETEC S A',\n", + " 'GALVIS SAN PORCINOS S A S',\n", + " 'ORBITRANS S A',\n", + " 'MAQUINAS Y JUEGOS DE CORDOBA S A S',\n", + " 'TODO SERVICIO S V S A S DISUELTA Y LIQUIDADA',\n", + " 'AGUADO WIND COLOMBIA SAS',\n", + " 'EXCAVACIONES Y MAQUINARIAS S A S',\n", + " 'PRAXIS & TECHNOLOGY GROUP S A S',\n", + " 'MAS CONSTRUCTORA LTDA',\n", + " 'DISTRISER DEL CARIBE LTDA',\n", + " 'M&H SALUD S A S',\n", + " 'GRUPO EMPRESARIAL DIAMANTE S A S',\n", + " 'CONSTRUCTORA INICIUM S A S',\n", + " 'WEBUILD S P A SUCURSAL COLOMBIA',\n", + " 'MEJIA ESCUDERO MARIO ALBERTO',\n", + " 'PORRAS BERMUDEZ OSWALDO',\n", + " 'HOMIL LTDA',\n", + " 'PROMOTORA PARQUE DEL SOL S A S',\n", + " 'ARCA DISTRIBUCIONES S A S',\n", + " 'FASTER SERVICES COLOMBIA S A S',\n", + " 'GROPIUS INNOVACION SOCIEDAD POR ACCIONES SIMPLIFICADA',\n", + " 'CENTRO DE ESPECIALIDADES MEDICO QUIRURGICAS LTDA',\n", + " 'COMERCIALIZADORA DE SUMINISTROS INDUSTRIALES Y PETROLEROS SAS',\n", + " 'URBISA S A',\n", + " 'GUSTAVO PERRY ARQUITECTOS S A S',\n", + " 'IN CARTAGENA GUIDE S A S',\n", + " 'SOFTESTING S A S',\n", + " 'CASTRO RAMIREZ DELIO',\n", + " 'COMERCIALIZADORA A & O S A',\n", + " 'SUMINISTROS Y SERVICIOS PETROLEROS SAS',\n", + " 'AUTOSANDOVAL SAS',\n", + " 'CEGID COLOMBIA LTDA',\n", + " 'OSPINA LEON ERNESTO',\n", + " 'TECNICAS EN INVENTARIOS Y ALMACENAMIENTO SAS TIAL',\n", + " 'HOTEL TERMALES TIERRA VIVA S A S',\n", + " 'IVAN PADILLA DENTAL CORPORATION S A S',\n", + " 'INDUSTRIAS DUCOR S A S',\n", + " 'CONSTRUCCIONES VIAS Y MAQUINARIA S A S',\n", + " 'VICENTE ARNULFO VALLEJO MERA',\n", + " 'SOLUCIONES INTEGRALES VER S A S E P',\n", + " 'PFV & COMPANIA LTDA',\n", + " 'IMCO GROUP S A S',\n", + " 'SPAZI S A EN LIQUIDACION',\n", + " 'C I GRAFICAS COLORAMA S A S EN REORGANIZACION',\n", + " 'AVANCE URBANO PROYECTOS Y CONSTRUCIONES LTDA',\n", + " 'AGROPISCICOLA LA HERMOSA S A S',\n", + " 'CONSORCIO PCP',\n", + " 'EMPRESA DE SERVICIOS PARA EL DESARROLLO ZOMAC SAS',\n", + " 'COOPERATIVA DE TRABAJO ASOCIADO SANAR CTA',\n", + " 'EDUCATIVA BLENDEX S A S',\n", + " 'COMERCIALIZADORA MASTER PAYS SAS',\n", + " 'CANTEX S A S',\n", + " 'DIRECTA LICITACIONES LTDA',\n", + " 'GESTION CLINICA ADMINISTRATIVA SOLUCIONES ESTRATEGICAS SAS',\n", + " 'SERVITRANSPORTE GC SAS',\n", + " 'SOLUCIONES MULTIFER S A S',\n", + " 'GAAT SECURITY GROUP LTDA',\n", + " 'EXCAVACIONES Y TRANSPORTES ARANGO S A S',\n", + " 'CONSTRUCCIONES URIBE S A S',\n", + " 'INTERMEDIANO COLOMBIA SAS',\n", + " 'DISTRIBUIDORA GRAN PROCALZADO SAS',\n", + " 'LIBRO ARTE S A S',\n", + " 'SOLUCIONES SML SAS',\n", + " 'MICROCIRCUITOS SAS',\n", + " 'CONSTRUCCOR S A S',\n", + " 'KROPOLIS S A S',\n", + " 'J&M DISTRIBUIDOR FERRETERO SAS',\n", + " 'CASINO LA MISERICORDIA S A S',\n", + " 'CABETO SAS',\n", + " 'HCP CONSTRUCCIONES SAS',\n", + " 'AGENCIA DE ADUANAS SIA TRADE S A NIVEL 1',\n", + " 'HIDROREHABILITAR SALUD SAS',\n", + " 'COMPANIA DE TRANSPORTES TERRESTRES S A S',\n", + " 'INVERSIONES PINEDA AGUIRRE Y COMPANIA S EN C A',\n", + " 'LA MAQUINA S A S ZOMAC',\n", + " 'HOYOS BOJANINI CAROLINA',\n", + " 'DST S A S',\n", + " 'EMPRESA SOCIAL DEL ESTADO NUESTRA SENORA DE LAS NIEVES',\n", + " 'EMCOLEN S A S E S P',\n", + " 'Q PROPERTIES S A S',\n", + " 'LUBRIMAQ S A S',\n", + " 'INNOVA PHARMA S A S',\n", + " 'FIARA GIRLS CONFECCIONES S A S',\n", + " 'MESEROS UNIVERSITARIOS PRECOOPERATIVA DE TRABAJO ASOCIADO LIMITADA',\n", + " 'BEARDOW ADAMS S A S',\n", + " 'CENTRO EMPRESARIAL CARRERA 49C S A S',\n", + " 'RODRIGUEZ RICO VICTOR JULIO',\n", + " 'BARBOSA ROJAS OSCAR HERNAN',\n", + " 'JIMENEZ LEE Y CIA LTDA',\n", + " 'NARANJO QUINTERO RODRIGO',\n", + " 'TRANSPORTE ESCOLAR HERCA S A S',\n", + " 'P3 SEGURIDAD LTDA',\n", + " 'CONSTRUCTORES Y CONSULTORES MPV S A S',\n", + " 'SANTO ROSARIO SPORT S A S',\n", + " 'Z F CONSTRUCCIONES S A EN LIQUIDACION',\n", + " 'ELECTRICOS SURAMERICA SAS',\n", + " 'ARRENDAMIENTOS Y AVALUOS UMBRAL S A S',\n", + " 'POWERS COMPANY S A S',\n", + " 'GRUPO EMPRESARIAL DE AUTOPARTES SAS',\n", + " 'SIBARITA DEL MAR S A S',\n", + " 'AGROINDUSTRIA GREEN L&C S A S',\n", + " 'MALUIRES Y COMPANIA S C S',\n", + " 'SUPERMERCADO RINDEMAS DE LA ESTACION S A S',\n", + " 'LEMON ARQUITECTURA S A S',\n", + " 'ITECO CONSULTORES S A S BIC',\n", + " 'CALDERON FERNANDEZ FLOR MARINA',\n", + " 'CONSTRUCTORA OBREVAL S A',\n", + " 'GRAFETTA EDITORES Y COMPANIA S A S',\n", + " 'TIMBA S A S',\n", + " 'GALY IMPRESORES S A S',\n", + " 'LAZADAS LTDA',\n", + " 'SERVICIOS ELECTRICOS TECNICOS INGENIERIA SETI SAS',\n", + " 'JAH INGENIERIA Y SUMINISTROS SAS',\n", + " 'DISTRIBUIDORA ZAHER S A S',\n", + " 'INVERSIONES MUNDIALES UNO A S A S',\n", + " 'JEMA CONSULTING AND CONSTRUCTION COMPANY S A S ZOMAC',\n", + " 'COLOMBIA GRAIN S A S',\n", + " 'SAN MIGUEL E D S S A S',\n", + " 'MONCAYO CAVIEDES ERNESTO EFRAIN',\n", + " 'CONSTRUCTORA SOYTA S A S',\n", + " 'MARTINEZ MARTINEZ CARLOS ARTURO',\n", + " 'TECNOTUBOS S A S',\n", + " 'SILVIA MOSQUERA FIERRO',\n", + " 'GLOBALGLASS J H S A S',\n", + " 'DIAZ JUNCA JORGE ENRIQUE',\n", + " 'PULIDO FORERO LUIS EDUARDO',\n", + " 'ALAMBIQUE MEDELLIN S A S',\n", + " 'FLOREZ GONZALEZ JOHN EDWAR',\n", + " 'MYP GROUP S A S',\n", + " 'MAFCCA S A S',\n", + " 'INVERSIONES CASABRAVA S A S EN REORGANIZACION',\n", + " 'TRANSPORTES GALE S A S',\n", + " 'GRUPO TURISTICO COLOMBIANO OVER S A S',\n", + " 'AGROALDANA AAA SAS',\n", + " 'MEDICINA NUCLEAR DIAGNOSTICA S A S',\n", + " 'PLASTICOS EL BUEN PRECIO S A S',\n", + " 'INVERSIONES DE VILLE S A S',\n", + " 'NORBEY ARIAS ARIAS',\n", + " 'ENKI COLOMBIA S A S',\n", + " 'SANOLIVAR S A S',\n", + " 'HABITAR CON ESTILO IMPORTADORA Y CONSTRUCTORA SAS',\n", + " 'TRANSPORTES OSORIO RIOS S A S',\n", + " 'JP SOLUCIONES COLOMBIA S A S',\n", + " 'TIENDAS RS S A S',\n", + " 'E S E HOSPITAL SAN PABLO',\n", + " 'CREDI PHONE COLOMBIA S A S',\n", + " 'ECOVENTANAS SAS EN LIQUIDACION',\n", + " 'COOPERATIVA DE LECHEROS DE LAS VEREDAS ASOCIADAS CARBONERA ALTA Y BAJA DE GUATAVITA',\n", + " 'TORO VALENCIA JOSE EDUARDO',\n", + " 'INCOM GROUP S A S',\n", + " 'T M DE COLOMBIA S A S',\n", + " 'ACTIVE SYSTEMS LIMITADA',\n", + " 'CEMENTOS ORIENTE S A S ZOMAC',\n", + " 'BRULEE BY KELVY & YADI S A S',\n", + " 'JOAQUIN GUILLERMO JIMENEZ URREA',\n", + " 'GRUPO MG S A S',\n", + " 'VESUVIUS COLOMBIA S A S',\n", + " 'COPARTESA S A S',\n", + " 'RODRIGO ALBERTO QUINTERO HERRERA',\n", + " 'GUILLERMO RHENALS LABORATORIO DENTAL S A S',\n", + " 'SUELAS ALDEX SAS',\n", + " 'CARIBBEAN AMERICAN SHIPPING AGENCY S A S',\n", + " 'EMPRESA SOCIAL DEL ESTADO RAFAEL SALGADO MARIPI',\n", + " 'LHM INGENIERIA SAS',\n", + " 'ESSENTIAL COLOMBIA SAS',\n", + " 'PUNTOCOREANO IMPORTACIONES S A S',\n", + " 'FRANQUICIAS Y OPERACIONES S FRYO S A S',\n", + " 'MIGUEL MERCHAN SEPULVEDA',\n", + " 'FUNDACION SOCIAL FAMILIA MUJER ADOLESCENCIA INFANCIA CON AMOR',\n", + " 'ROKK3R LABS COLOMBIA S A S EN LIQUIDACION',\n", + " 'TURISMO ELITE SAS',\n", + " 'SOCIEDAD AGRICOLA LA CEIBA S A S',\n", + " 'INVERSIONES FERINES S A S',\n", + " 'CICAFER S A S',\n", + " 'INSUMODA S A S',\n", + " 'SERVYMAQ S A S',\n", + " 'BRANDEMBURG 7 SAS',\n", + " 'OPERADORA MINERA DE SAMACA S A S',\n", + " 'MODUPLASTIC S A S',\n", + " 'AEROLIBROS S A S',\n", + " 'GASBIO SAS',\n", + " 'ACUSTIMONTAJES SAS',\n", + " 'INVERSIONES PENTHOUSE SAS',\n", + " 'PANACAMBIOS S A S',\n", + " 'PROYECTOS Y SOLUCIONES DE INGENIERIA LTDA EN LIQUIDACION',\n", + " 'YEPES VELEZ ELMER',\n", + " 'INVERSIONES AFER S A',\n", + " 'JARAMILLO DE MORA DORA',\n", + " 'GRUPO ZUR COLOMBIA S A S',\n", + " 'EL COMPETIDOR ELECTRICO LTDA',\n", + " 'MARSAL DISTRIBUCIONES S A S',\n", + " 'CONSTRUVENTAS LLANOGRANDE S A S',\n", + " 'GINO FIRENZI SAS',\n", + " 'QUANTUM AGRICOLA SAS',\n", + " 'JORGE ELIECER GAITAN INGENIERIA CONSULTORIA Y VALORACION SAS',\n", + " 'REDSERAUTO SAS',\n", + " 'FERRETERIA EL TRIUNFO S A S',\n", + " 'RAPITEC S A S',\n", + " 'H LAD S A S',\n", + " 'NETCENTRIC LATAM S A S',\n", + " 'DITRACOL S A S',\n", + " 'FUNDACION ACTIVA TERRITORIO E S A L',\n", + " 'INDUCOAL S A S',\n", + " 'SOCIEDAD DE COMERCIALIZACION INTERNACIONAL ARANGO VIVAS S A S',\n", + " 'GEOFORAGROS S A S',\n", + " 'DENTONS CARDENAS & CARDENAS ABOGADOS PROPIEDAD INTELECTUAL S A S',\n", + " 'ARCHBOLD CERON CARLOS ANTONIO',\n", + " 'OCHOA RESTREPO JOSE JAIME',\n", + " 'PINEDA LOPEZ JESUS OVIDIO EN PROCESO DE REORGANIZACION',\n", + " 'SUMINISTROS ENERGETICOS PEREZ OIL COMERCIALIZADORA INTERNACIONAL S A S',\n", + " 'ALZATE CASTANO FAIBEL DE JESUS',\n", + " 'FORERO FERNANDEZ LAURA NATALIA',\n", + " 'EXPERTIA ASESORES DE SEGUROS LTDA',\n", + " 'LEONARDO LUNA SOLUCIONES S A S',\n", + " 'EDIFICAR DEL NORTE S A S',\n", + " 'ARDILA & AMAYA INVERSIONES SAS',\n", + " 'GRUPO ALVAREZ ROSENTAL S A S',\n", + " 'ARIZ SHOES S A S',\n", + " 'KENDAL S A S',\n", + " 'CONSTRUCCIONES M L SAS',\n", + " 'INVERSIONES ZALINAS SAS',\n", + " 'AMIGOS DE NUESTRO CAFE S A S',\n", + " 'A&A CONSULTORES SAS',\n", + " 'COOPERATIVA DE TRANSPORTADORES TASAJERO',\n", + " 'CALIDAD TEXTIL S A',\n", + " 'MADERINCO S A S',\n", + " 'CEDIAUTO S A',\n", + " 'CLINICA LABIMED LTDA',\n", + " 'TECNO DUCTOS SOCIEDAD POR ACCIONES SIMPLIFICADA EN REORGANIZACION',\n", + " 'ASOCIACION DE RECICLADORES EMPRENDEDORES DEL SUR',\n", + " 'KAZ CONSTRUCTORES Y CONSULTORES S A S',\n", + " 'ESPINOSA INGENIERIA SAS',\n", + " 'COEMPRESA S A S',\n", + " 'ZAM LOGISTIC S A S',\n", + " 'PARATODO YA S A S',\n", + " 'SOCIEDAD DE ASEO DE BELLO S A E S P',\n", + " 'ARISTIZABAL MARTINEZ HERNAN ALONSO',\n", + " 'CENTRAL DE PROCESAMIENTO ENTREGAS Y SERVICIOS PUERTA A PUERTA',\n", + " 'MARTINEZ PINTO MARIA INES',\n", + " 'SOCIEDAD DE COMERCIALIZACI N INTERNACIONAL CONFITES BOMBOLINA S A',\n", + " 'ACRE COMERCIALIZADORA S A S',\n", + " 'PERSONAL EN MISION LABORAL S A S E S T EN LIQUIDACION',\n", + " 'INGESTRUCTURAS UNIVERSALES S A S',\n", + " 'MEDICLINICOS SUMINISTROS DE COLOMBIA S A S',\n", + " 'IMAGENES DIAGNOSTICAS POR ACCIONES SIMPLIFICADA',\n", + " 'ELATIN S A S',\n", + " 'CONSEIL PRODUCTION INTERNACIONAL S A S',\n", + " 'SIEMBRA Y COSECHA CP S A S',\n", + " 'HERNANDEZ ARISTIZABAL JUAN DAVID',\n", + " 'COOPERATIVA MULTIACTIVA DE TRANSPORTADORES DE SAN MATEO',\n", + " 'ASUBELL S A S',\n", + " 'INDUSTRIAS M&V SAS',\n", + " 'DISTRIBUIDORA EL PICASO S A S ZESE',\n", + " 'FUNDACION EMPRESARIOS POR LA EDUCACION',\n", + " 'COTES NAVARRO LEONARDO RAFAEL',\n", + " 'AMORIM INVERSIONES S A S',\n", + " 'COMERCIALIZADORA PANAFARGO S A S',\n", + " 'GARCES LLOREDA Y COMPANIA S A CORREDORES DE SEGUROS',\n", + " 'CONFITERIA LA GRAN FORTUNA G G S A S',\n", + " 'LOTOR INGENIERIA S A S',\n", + " 'FUNDACION IBERACADEMY',\n", + " 'J H HOYOS & ASOCIADOS S A S',\n", + " 'PROMOTORA LA ROCA S A S',\n", + " 'TRADE MEDIA S A S',\n", + " 'MARIN ARDILA EDGAR ELIAS',\n", + " 'LOPEZ RAMOS JORGE IVAN',\n", + " 'MYR TRADING SAS',\n", + " 'EKOOMEDIA S A S',\n", + " 'CONSTRUCTORA VILLA CELESTE LTDA',\n", + " 'ANPRO CORREDORES DE SEGUROS S A',\n", + " 'PISO S A S',\n", + " 'SU ALIADA COOPERATIVA DE TRABAJO ASOCIADO CTA',\n", + " 'CONSTRUCTORA URBANITY S A S',\n", + " 'DALIMENTOS S A S',\n", + " 'CARTRICOL SAS',\n", + " 'LEON MATALLANA GLORIA XIMENA',\n", + " 'SERVIAGRO WORLD MOTORS S A S',\n", + " 'PROCOLDEXT SAS',\n", + " 'COMITE DE GANADEROS DEL NORTE DE SANTANDER COGANOR',\n", + " 'ENER RAM S A S',\n", + " 'INVERSIONES POKERMANIA S A S',\n", + " 'TUMATERA TUVIVERO S A S',\n", + " 'GRAN FRUVER SUPER OLIMPICO SAS',\n", + " 'UNIDAD MEDICA DEL SUR DE CASANARE SURMEDICA I P S',\n", + " 'MONSALVE SAENZ GERMAN',\n", + " 'KAYROS INTERNATIONAL SAS',\n", + " 'CAMARA DE COMERCIO COLOMBO HOLANDESA HOLLAND HOUSE',\n", + " 'SEGURIDAD VIAL SEVIAL S A',\n", + " 'ESTACION DE SERVICIO SERVICENTRO LAS LAJAS E U',\n", + " 'LA MACANA AGROPECUARIA SAS',\n", + " 'INVERSIONES RAMIREZ Y SUBASTAS S A S',\n", + " 'SURVEY SERVICES SAS',\n", + " 'PLAN INMOBILIARIO S A S',\n", + " 'INVERSIONES GRUPO 3G S A S',\n", + " 'COLEMPLAST LTDA',\n", + " 'LEONILDE CALDON RAMIREZ',\n", + " 'GRUPO INVERSIONES SYNERGY SAS',\n", + " 'ACOINCO S A S',\n", + " 'CONTACTO ESTRATEGICO OUTSOURCING CONTABLE S A S',\n", + " 'FORERO COLMENARES RAFAEL ORLANDO',\n", + " 'ANGULOA S A S',\n", + " 'DISENO GRES S A S',\n", + " 'CHEMDRILL S A S',\n", + " 'AMBOO LTDA',\n", + " 'INNCET SAS',\n", + " 'COMERCIALIZADORA FINCA SANTA CLARA S A',\n", + " 'LA BONANZA DISTRIBUCIONES NARINO SAS',\n", + " 'OVERHAULIN S A S',\n", + " 'HACIENDA FLANDES S A S',\n", + " 'CJ TECHNOLOGY S A S',\n", + " 'UPGRADE CAR COLOMBIA S A S',\n", + " 'SERVICIOS INTEGRALES EN SALUD SOACHA SAS',\n", + " 'MUEBLES JUVENTUD S A S EN PROCESO DE REORGANIZACION',\n", + " 'COMERCIALIZADORA AGROPECUARIA FUENTEDEORO S A S',\n", + " 'INNOVATION PROFESIONAL GROUP S A S',\n", + " 'ARTEAGA Y MARTINEZ SAS',\n", + " 'ARANA VASQUEZ RAUL',\n", + " 'INSTRUMENTOS DE INGENIERIA GGP S A S',\n", + " 'RICO SANCHEZ S A S',\n", + " 'CONTROL SISTEMAS COMUNICACIONES C S C LTDA',\n", + " 'DE ZUBIRIA GARCIA CARLOS MIGUEL',\n", + " 'DISRAMFOR AUTOPARTES S A S',\n", + " 'RODRIGUEZ VELOZA JORGE ALBERTO',\n", + " 'CPL AROMAS COLOMBIA LTDA',\n", + " 'COMMSCOPE SOLUTIONS INTERNATIONAL INC',\n", + " 'YAUTO S A S',\n", + " 'SIRIOCA S A S',\n", + " 'TRIANA FERNANDO',\n", + " 'JAWDA BLIND LTDA',\n", + " 'AGROEXITO M L S A S ZOMAC',\n", + " 'CONSTRUCCIONES VILLAMARALEJO S A S',\n", + " 'ABITS COLOMBIA S A S',\n", + " 'SOBRES OLES DE COLOMBIA LTDA',\n", + " 'AGROPOLO S A S ZOMAC',\n", + " 'M&M ENT S A S',\n", + " 'PEDICENTRO S A S',\n", + " 'COMERCIALIZADORA VARO S A S',\n", + " 'LEGATRANS S A S',\n", + " 'CASA DE LA CULTURA PIEDRA DEL SOL FLORIDABLANCA',\n", + " 'SEER HOLDINGS S A S',\n", + " 'A TIEMPO CARGO S A S',\n", + " 'COMERCIALIZADORA MEJIA E HIJOS S A S',\n", + " 'INVERSIONES ELUNEY S A S',\n", + " 'ALUMINIOS EL REY SAS',\n", + " 'ZAMBRANO LOMBANA ILDA SOCORRO',\n", + " 'INTERNACIONAL DE TELEMERCADEO S A S EN LIQUIDACION',\n", + " 'INVERSIONES BESUTO SAS',\n", + " 'INGENIERIA Y CONSTRUCCIONES C & M S A S',\n", + " 'COOPERATIVA DE TRABAJO ASOCIADO SIGLO XXI CTA',\n", + " 'ESTRUCAD INGENIERIA Y CONSULTORIA S A S',\n", + " 'INTELSERVICE DE OCCIDENTE LTDA',\n", + " 'EMPRESA SOCIAL DEL ESTADO HOSPITAL SAN ANTONIO',\n", + " 'C R COLOMBIA SAS',\n", + " 'AMEN JEANS WEAR S A',\n", + " 'CARLOS GAVIRIA Y ASOCIADOS S A',\n", + " 'PROPLANET S A S',\n", + " 'COMERCIALIZADORA DE CEMENTOS Y MATERIALES PARA LA CONSTRUCCION S A S EN REORGANIZACION',\n", + " 'TURISMO AL VUELO S A S',\n", + " 'PROGELSA SOCIEDAD POR ACCIONES SIMPLIFICADA',\n", + " 'OMAR ANDRES CAMACHO SUAREZ',\n", + " 'CREATIVE CONSTRUCCION SAS',\n", + " 'KALAGAS S A S',\n", + " 'LABORES Y SERVICIOS AGROMAQ S A S',\n", + " 'TERMINAL DE TRANSPORTES DE NEIVA S A',\n", + " 'VALESTRATE S A',\n", + " 'AGUDELO CHAVES S A',\n", + " 'RAMOS ALDANA NIDIA PILAR',\n", + " 'FLORES Y FRUTAS DE UBATE SAS',\n", + " 'CELL PEOPLE S A S',\n", + " 'COMERCIAL FRANCO HERMANOS S A',\n", + " 'CORPORACION ALTIVE COLOMBIA LTDA',\n", + " 'CENEGAN S A S',\n", + " 'METALTEC NEIVA LTDA',\n", + " 'GOAL',\n", + " 'CARPINDUSTRIAL UMA S A S',\n", + " 'ORGANIZACION CONIGSA SAS',\n", + " 'COLEGIO DON BOSCO VILLAVICENCIO S A S',\n", + " 'CIMAGRO SAS',\n", + " 'COOPERATIVA DE OPERADORES MINEROS DEL CARBON',\n", + " 'ALMACEN EL ARQUITECTO S A S',\n", + " 'PAVIMO SAS',\n", + " 'VESERES Y COMPANIA S C S',\n", + " 'FERMACERO LTDA',\n", + " 'KENTAUR SAS',\n", + " 'SIERRA GONZALEZ JOSE GRIMALDOS',\n", + " 'RUILOBA DISTRIBUCIONES S A S',\n", + " 'CONSTRUCTORA GEMELAR SAS',\n", + " 'ALMACEN AGROPECUARIO DE ANTIOQUIA S A S',\n", + " 'FEDIACERO SAS',\n", + " 'AEXPRESS S A S EN REORGANIZACION',\n", + " 'LINK DIAGNOSTICO DIGITAL S A',\n", + " 'CONSTRUCCIONES LIVIANAS S A EN REORGANIZACION',\n", + " 'BATISTA TOVAR BEATRIZ LUZ',\n", + " 'IMPORHONDA LTDA',\n", + " 'COMERCIAL BONANZA S A S',\n", + " 'GRUPO CALGIR S A S',\n", + " 'RODRIGUEZ GAMBASICA TIBERIO',\n", + " 'GOMEZ GUEVARA CESAR AUGUSTO',\n", + " 'MEDIMFARMA S A S',\n", + " 'CONSTRUCCIONES MYM S A S',\n", + " 'PROMOTORA AIRES DEL BOSQUE S A S',\n", + " 'CJ&G INVERSIONES SAS',\n", + " 'IPS FEVISALUD S A S',\n", + " 'LA ESQUINA LTDA',\n", + " 'GREEN BOUQUET FSS S A S',\n", + " 'JAIME PARRA Y COMPANIA S A S',\n", + " 'LICEO FRANCES BILINGUE INTERNACIONAL DE BOGOTA SAS',\n", + " 'COLOMBIA AGRO S A S',\n", + " 'SUMINISTROS Y SERVICIOS INNOVAR S&M S A S',\n", + " 'GLOBAL BUSINESS EDITORES S A S',\n", + " 'CERAMICOS Y MINERALES S A S',\n", + " 'INSTITUTO NACIONAL DE INVESTIGACION Y MEDICINA ESPECIALIZADA S A S',\n", + " 'INDRESFER S A',\n", + " 'INVERSIONES ALQUIMIA S A S',\n", + " 'FUNDACION AID FOR AIDS COLOMBIA',\n", + " 'INSTITUTO DEPARTAMENTAL DE TRANSITO DEL QUINDIO',\n", + " 'ESTRUCTURAS Y CONSTRUCCIONES LERMA S A S',\n", + " 'INSTITUTO CANCEROLOGICO INFANTIL S A',\n", + " 'ORFESEG LTDA',\n", + " 'CONNECTING CARGO SAS',\n", + " 'OPIN OPERACIONES INTERNACIONALES S A S',\n", + " 'SISTEMA CONSTRUCTIVO SIACHICA S A S',\n", + " 'CINCO ONCE S A S',\n", + " 'FERRECONSTRUCCION Y SOLUCIONES ADONAI SAS',\n", + " 'FARMASALUD POPAYAN SAS',\n", + " 'DISTRIBUCIONES ANDINAS BIEN HECHAS DE COLOMBIA S A S',\n", + " 'INKLUSIVA S A S',\n", + " 'BAIN MEDICAL TRADING COLOMBIA S A S',\n", + " 'INECTEL S A S',\n", + " 'SEMILLAS DEL TROPICO S A S',\n", + " 'COLVAC EMPAQUES DE BARRERA S A S',\n", + " 'GOMEZ GOMEZ FRANCISCO HERIBERTO',\n", + " 'CORPORACION PARA EL DESARROLLO AMBIENTAL COLOMBIANO',\n", + " 'BIENES RAICES LA NACIONAL S A S',\n", + " 'RESTREPO RODRIGUEZ JOHANA ALEXANDRA',\n", + " 'COMERCIALIZADORA DE TUBOS Y PERFILES LTDA',\n", + " 'FUNDACION CLINICA UNIVERSITARIA SAN JUAN DE DIOS',\n", + " 'ELECTRONICA VIGILANCIA Y SEGURIDAD PRIVADA 7 LTDA',\n", + " 'COOPERATIVA DE TRABAJO ASOCIADO LIDERAZGO Y TALENTO COOPERATIVO',\n", + " 'SQADRA TEAM S A S',\n", + " 'GRANJA SAN ESTEBAN S A S',\n", + " 'CONSTRUCCION Y OBRAS CIVILES PINZON S A S',\n", + " 'E S E HOSPITAL LOCAL DE EL RETEN',\n", + " 'AQL PRIMAVERA S A S',\n", + " 'INVERSIONES Y ASESORIAS DFT S A S',\n", + " 'IMPORTADORA MOTO FOX SAS',\n", + " 'FRANCISCO HERIBERTO GOMEZ GOMEZ',\n", + " 'ALIANZA LOGISTICA MULTINIVEL SAS',\n", + " 'INVERSIONES MI GENTE S A S',\n", + " 'CONSTRUCTORA GILSA S A',\n", + " 'CONSTRUCTORES ATUESTA & CARDENAS S A S',\n", + " 'BEDOYA RAMIREZ SORA INES',\n", + " 'AGRO NEGOCIOS LTDA',\n", + " 'MAXI ELECTRICOS D&G SAS',\n", + " 'COMERCIALIZADORA SUPERQUESOS S A S',\n", + " 'NORALPLAS S A S',\n", + " 'BETANCUR GOMEZ ARLEY DE JESUS',\n", + " 'COMERCIALIZADORA JC LTDA',\n", + " 'FCP GLOBAL ASESORIAS SAS',\n", + " 'INDUSTRIAL GENETICA S A S',\n", + " 'INSTALAMOS ALIADOS S A S',\n", + " 'SIKAMAR LTDA',\n", + " 'ALVARO JOSE MARLES MONTES',\n", + " 'VIA BOGOTA S A S',\n", + " 'FONDO DE EMPLEADOS AL SERVICIO DE LOS TRABAJADORES DEL SECTOR EMPRESARIAL COLOMBIANO',\n", + " 'NN INVERSIONES S A S',\n", + " 'SERVIAGRO YARUMAL ANT ZOMAC S A S',\n", + " 'DISENO Y DECORACION LA BROCHA S A S',\n", + " 'INVERSIONES LAS AGUILAS S A S',\n", + " 'SERVIGAS OXIGENAR LTDA',\n", + " 'ESTRUCTURAS MORENO SAS',\n", + " 'QOPPA PHARMA S A S',\n", + " 'CORDENYLON S A S',\n", + " 'DISALUMINIOS MANIZALES S A S',\n", + " 'INVERSIONES INVAGRO S A S',\n", + " 'CARODE S A S',\n", + " 'KAWAK COL SAS',\n", + " 'A MAS V S A S',\n", + " 'ACF TECHNOLOGIES COLOMBIA S A S',\n", + " 'MUSEO DE ARTE MODERNO DE BOGOTA',\n", + " 'CONSTRUCCIONES PREFABRICADAS EN ACERO S A EN REORGANIZACION',\n", + " 'CARDIOESPEC S A S',\n", + " 'PRINT DIGITAL GRAN FORMATO S A S',\n", + " 'GRUPO OMACA S A S',\n", + " 'IMAGINE VENTURES SAS',\n", + " 'HOJAS S A S',\n", + " 'ESTRUCTURAS METALICAS J M S A EN LIQUIDACION',\n", + " 'ALTIUM PROYECTOS SAS',\n", + " 'INVERSIONES ESCOCIA S A S',\n", + " 'INMUEBLES Y PROYECTOS SAS',\n", + " 'LABORVIDA IPS S A S',\n", + " 'RECICLAJE DE PRODUCTOS Y ACEITES LTDA',\n", + " 'O I S TELECOMUNICACIONES S A S EN TRAMITE DE NEGOCIACION DE EMERGENCIA',\n", + " 'EXPRESO DEL SOL SAS',\n", + " 'MULTIMODAL LOGISTICA DE CARGA SAS',\n", + " 'M A M INGENIEROS CONTRATISTAS S A S',\n", + " 'CENTRO DE REHABILITACION FISICO PULMONAR CERFIP SAS',\n", + " 'PINTORRES Y ARQUITECTOS ASOCIADOS S A S',\n", + " 'URBANIZACIONES Y CONSTRUCCIONES DEL SUR URCOSUR S A S',\n", + " 'DISTRIBUIDORA DEL CORRAL Y COMPANIA LTDA EN LIQUIDACION',\n", + " 'SOLFIVALORES S A',\n", + " 'TU RESPALDO SEGURO S A S',\n", + " 'CAMARA DE COMERCIO DE DOSQUEBRADAS',\n", + " 'VACUUM COOLING COLOMBIA S A S',\n", + " 'LOPEZ ARANGO CARLOS FABIAN',\n", + " 'MICROANALISIS SAS',\n", + " 'COOPERATIVA MULTIACTIVA DE SERVICIOS DEL SECTOR DE ENVIOS Y MENSAJERIAS DE COLOMBIA LIMITADA',\n", + " 'TRANSPORT INNOVATION S A S',\n", + " 'COOPERATIVA MULTIACTIVA PRODUCTORES AGRICOLAS CAJAMARCA LTDA CARC',\n", + " 'EXTREMA MERCADEO RELACIONAL S A S',\n", + " 'PESCADOS Y MARISCOS DE SURAMERICA S PEZMARSUR S A S',\n", + " 'AUTO GRUAS LA SEXTA 24 HORAS Y COMPANIA LTDA',\n", + " 'TRANSPORT SYSTEMS SAS',\n", + " 'COMERCIALIZADORA JK DEL NORTE S A S',\n", + " 'DISTRIMATERIALES ATLANTICO S A S',\n", + " 'FORTALEZA CONSTRUCTORA DE COLOMBIA S A S',\n", + " 'INCIVILPRO S A S',\n", + " 'ELIARA CONSTRUCCIONES SAS',\n", + " 'CONSTRUARQ DESIGN S A S',\n", + " 'PAVIMENTOS E INFRAESTRUCTURA S A S',\n", + " 'TRANSPORTES MINERALES DE COLOMBIA S A',\n", + " 'CONSTRUCTORA Y EQUIPOS DEL VALLE S A S',\n", + " 'AGROFERTIL VILLAVICENCIO S A S',\n", + " 'CTO MEDICINA COLOMBIA S A S',\n", + " 'HERMES RODRIGUEZ POLO',\n", + " 'DISTRIBUIDORA MOVI CARGA SAS',\n", + " 'MLO S A S',\n", + " 'CONTINENTAL DE ENVASES LTDA',\n", + " 'PUNTO CARDINAL SOCIEDAD DE COMERCIALIZACION INTERNACIONAL S A EN LIQUIDACION',\n", + " 'PRO FARM DE LOS ANDES S A S',\n", + " 'CONSTRUCTORA CALCIA S A S EN LIQUIDACION JUDICIAL',\n", + " 'PAZAGRO SAS',\n", + " 'GONZALEZ RODRIGUEZ INGRID',\n", + " 'TERRITORIO VASQUEZ TEMPORALES S A S',\n", + " 'REPRESENTACIONES AMAZONAS SAS',\n", + " 'ZULETA GRANADA AYDA LUZ',\n", + " 'COLD CREDITOS S A S',\n", + " 'QUIGUA S A S',\n", + " 'GRANOS SECOS LAS SEMILLAS S A S',\n", + " 'NOVOA ORTIZ ANA BEATRIZ',\n", + " 'LIBRERIA ALIANZAS S A S',\n", + " 'G ARCILA S A S',\n", + " 'EMPAQUES FLEXIBLES S A EN REORGANIZACION',\n", + " 'H DE H SAS',\n", + " 'CUADROS RAMIREZ CARLOS ALFONSO',\n", + " 'BS INGENIEROS ARQUITECTOS S A S',\n", + " 'INDUSTRIAS AVIZOR S A S EN LIQUIDACION',\n", + " 'MORTEROS TEQUENDAMA S A',\n", + " 'COMERCIALIZADORA DEL CAMPO S A S',\n", + " 'VESTIGLOBAL S A S',\n", + " 'A SELLASEG INGENIERIA S A S',\n", + " 'SUMINISTROS MEDICOS JPC SAS',\n", + " 'DISTRICAJAS Y EMPAQUES MUNOZ SAS',\n", + " 'FUNPRO S A S',\n", + " 'TRANSPORTE Y LOGISTICA ARAUCO SAS',\n", + " 'EL PUNTO ELECTRICO LTDA',\n", + " 'ESTACION DE SERVICIOS Y LUBRICANTES LA JOYA SAS',\n", + " 'LABORATORIOS DE CONTROL ROBOTICO S A S',\n", + " 'COMERCIALIZADORA DELICIAS MARINAS SAS',\n", + " 'MORALES DE MELAN MARIA OMAIRA',\n", + " 'ASESORIAS Y SUMINISTROS TECNICOS TEMPORALES LTDA',\n", + " 'ULTRASEGURA LTDA',\n", + " 'FERRETERIA AZULGRANA SAS',\n", + " 'SERRANO CUENCA BENJAMIN',\n", + " 'ANDES CONSTRUCTORA S A S',\n", + " 'REINA VELOSA DIANA KATHERINA',\n", + " 'BOMBA ESTEREO SAS',\n", + " 'MASCAMPO S A S',\n", + " 'BANQUINAR SAS',\n", + " 'COSMO CONSULT COLOMBIA S A S',\n", + " 'SONDA S A',\n", + " 'CONSTRUCTODO DE LA GUAJIRA S A S',\n", + " 'CONSTRUCTORA KSAS S A S EN PROCESO DE NEGOCIACION DE EMERGENCIA DE UN ACUERDO DE REORGANIZACION',\n", + " 'DISNAEQUIPOS S A S',\n", + " 'RUIZ & SEGURA SAS',\n", + " 'MOTO FORTUNA SAS',\n", + " 'HENRY DUSSAN',\n", + " 'ORLANDO DE JESUS RENDON SANCHEZ',\n", + " 'BARRIOS RINCON SULY MARGARETH',\n", + " 'GRUPO QUINTERO Y ASOCIADOS S A S',\n", + " 'LACORSALUD S A S',\n", + " 'COONSTRUIR TRABAJADORES DE LA CONSTRUCCION SOCIEDAD POR ACCIONES SIMPLIFICADA',\n", + " 'URBASER MONTENEGRO S A E S P',\n", + " 'CHARRY NARVAEZ LTDA AGRICOLA EL PARAISO EN LIQUIDACION',\n", + " 'D&F SEGURIDAD S A S',\n", + " 'KARRY DISTRIBUCIONES S A S',\n", + " 'COMERCIALIZADORA JUANGUI S A EN LIQUIDACION',\n", + " 'POCHOCELL JR S A S',\n", + " 'BARBACOA BURGER Y BEER S A S',\n", + " 'COOPERATIVA DE TRABAJO ASOCIADO AMISALUD',\n", + " 'RODRIGUEZ QUINTERO ROCIO',\n", + " 'INVERSIONES MCCAUSLAND S A S',\n", + " 'CMIAC IPS GUAJIRA S A S',\n", + " 'ONMOBILE GLOBAL LIMITED SUCURSAL COLOMBIA',\n", + " 'CONSTRUELECTRIC DE LA COSTA S A S',\n", + " 'DISMACERO SAS',\n", + " 'PROEXCOM S A S',\n", + " 'SEISMIC COMPANY SERVICES SAS',\n", + " 'POLIBAGS S A S',\n", + " 'CONSTRUCCIONES Y RECUBRIMIENTOS INDUSTRIALES DE OCCIDENTE S A S',\n", + " 'CARNES MONTEALEGRE S A S',\n", + " 'ELECTRONICA JDF SAS',\n", + " 'PROXIMATE SAS',\n", + " 'TRUVEL S A',\n", + " 'MOVILIZADORA GANADERA LTDA',\n", + " 'COMBUSTIBLES ECODIESEL S A S',\n", + " 'ELECTRO ASE COMPRESORES S A S',\n", + " 'XPAND GROUP S A S',\n", + " 'INVERSIONES LOS SAUCES S A EN LIQUIDACION',\n", + " 'INGENIERIA & DISENOS INTEGRALES S A S',\n", + " 'ELECTRONICAS SAUVER S A S',\n", + " 'INVERSIONES GUILCO LTDA EN LIQUIDACION',\n", + " 'CONSTRUIR AMBIENTE S A S',\n", + " 'DACOTRANS DE LATINOAMERICA COLOMBIA S A',\n", + " 'ESTACION DE SERVICIO VIRGEN DEL CARMEN S A S',\n", + " 'CORAL GAMES S A S',\n", + " 'AVELLA MONROY WILLIAM ARMANDO',\n", + " 'SERVICIOS HIDROGEOLOGICOS INTEGRALES S A S',\n", + " 'SAN CARLOS INGENIERIA Y SERVICIOS S A S',\n", + " 'INSUPUERTAS S A S',\n", + " 'EDS PARADOR DE OCCIDENTE SAS',\n", + " 'AKERMOS S A S',\n", + " 'GARCIA BLANCO NESTOR JULIO',\n", + " 'CHICO INVESTMENTS SAS',\n", + " 'AGROINVERSIONES GERONIMO F B ZOMAC S A S',\n", + " 'RECICLADORA NUEVO HORIZONTE S A S',\n", + " 'TECNI MERCEDES S A S',\n", + " 'CREACIONES L Y N DONMATIAS S A S',\n", + " 'TELAS Y PROCESOS S C S LIQUIDADA',\n", + " 'FUNDACION CAMINO DE LA ESPERANZA',\n", + " 'LOZANO PAOLA ANDREA',\n", + " 'CENTRO DE PRODUCCION Y ALIMENTOS S A S',\n", + " 'EMBELLECER TIENDA CERAMICA S A S',\n", + " 'LA CAVA LOGISTICA S A S',\n", + " 'ULTRA COMPACT COLOMBIA SAS',\n", + " 'VILLAMIL BERNAL WILSON YIMY',\n", + " 'ARANGO G INVERSIONES S A S',\n", + " 'EMPAQUES Y SOLUCIONES DQ SAS',\n", + " 'MENDOZA MELO JOSE MANUEL',\n", + " 'HOYOS SEVERICHE CARLOS ALBERTO',\n", + " 'RIVERA MARTINEZ LUIS ARCADIO',\n", + " 'INVERSIONES MERCA PLAZA S A S',\n", + " 'ECONO HOTEL GROUP S A S',\n", + " 'SURTIALMIDONES S A S',\n", + " 'SALSAMENTARIA AVILENA S A S',\n", + " 'COLEXIM S A S',\n", + " 'AGRO ADANAGI S A S',\n", + " 'ESTARTER S A S',\n", + " 'COLOMBIAN CAIMAN SAS',\n", + " 'SOCIEDAD AGROINDUSTRIAL EL PROGRESO S A',\n", + " 'HEMOCOLOMBIA SAS',\n", + " 'NUTRACEUTICOS DE COLOMBIA S A S',\n", + " 'QUENGUAN ASCUNTAR IVAN RENE',\n", + " 'MARTHA BETANCUR DE ARROYAVE',\n", + " 'SOLUPROYECTOS DE CARPINTERIA J L B S A S',\n", + " 'SURTI MATERIALES JF S A S',\n", + " 'LUBRIGAUSDA SAS',\n", + " 'RECICLAIR S A S',\n", + " 'CYD INGENIERIA LTDA',\n", + " 'COMERCIALIZADORA LAS JUANAS S A S',\n", + " 'SEGUROS O M S S A S',\n", + " 'FONDO DE EMPLEADOS PARA EL FUTURO FEMFUTURO',\n", + " 'ORGANIZACION NACIONAL DE SERVICIOS INDUSTRIALES S O N A S I S A S',\n", + " 'ANTIBIOTICOS DA COLOMBIA S A S',\n", + " 'GRUPO 10 INVERSIONES S A S',\n", + " 'CONSORCIO CONSTRUCTOR DE LA PROSPERIDAD',\n", + " 'E S E HOSPITAL FRANCISCO BARRERA DON MATIAS',\n", + " 'FUNDACION PROAVES DE COLOMBIA',\n", + " 'COMPANIA AGROINDUSTRIAL Y COMERCIAL PACANDE S A S',\n", + " 'MATERIALES Y MADERAS DE RIONEGRO ANTIOQUIA SAS',\n", + " 'NAGGLE COGOLLO WAIMET',\n", + " 'CARDONA DE BAENA LUZ AMPARO',\n", + " 'DISTRIBUIDORA INTERNACIONAL GROUP S A S',\n", + " 'DISTRIBUIDORA DE CALDAS LIMITADA',\n", + " 'CONSTRUCTORA SERBAL S A S',\n", + " 'PPF INGENIERIA SAS',\n", + " 'HOGAR DE REPOSO BETANIA S A S',\n", + " 'ORGANIZACION KS LTDA',\n", + " 'LIFEHEALTH UNIVERSAL COL ZOMAC S A S',\n", + " 'AVILA COLOMBIA SAS',\n", + " 'MACHINETRONICS S A S',\n", + " 'CORPORACION AFRO PROGRESO DIEGO LUIS CORDOBA',\n", + " 'CORPORACION FONDO DE APOYO DE EMPRESAS ASOCIATIVAS CORFAS',\n", + " 'SUMINISTROS Y SERVICIOS INDUSTRIALES PONCE DEL VECCHIO S A S',\n", + " 'COMERCIALIZADORA INTERNACIONAL MUNDO ROPE SAS',\n", + " 'LEGIONARIUS STUNTS SAS',\n", + " 'PPA COLOMBIA SAS',\n", + " 'PROMOTORA CORREA VELEZ & CIA S A S',\n", + " 'EGAVAL S A S',\n", + " 'SPORTSAT TELEVISION S A',\n", + " 'GOMEZ GOMEZ LTDA',\n", + " 'ANDES HORIZON CAPITAL S A S',\n", + " 'SELINA OPERATION LOS HEROES S A S',\n", + " 'ASSURANT COLOMBIA COMPANIA DE SERVICIOS S A S',\n", + " 'JUAN CAMILO ROCHA LOAIZA',\n", + " 'MORALES ORDONEZ ANDRES FELIPE',\n", + " 'GOMEZ RONCANCIO EDGAR LEONARDO',\n", + " 'SUPLINDUSTRIA S A S',\n", + " 'ETIQUETAS DE COLOMBIA S A S',\n", + " 'MEDIA BUSINESS COLOMBIA SAS',\n", + " 'SERVICIOS DE PROPIEDAD INDUSTRIAL S SPI S A S',\n", + " 'ASOCIACION DE RECICLADORES Y RECUPERADORES AMBIENTALES ASOREMA',\n", + " 'LUZ Y DECORACION S A S',\n", + " 'PROURBANOS CIMA SAS',\n", + " 'TI360 S A S',\n", + " 'GYG SERVICES GROUP SAS',\n", + " 'UNIDAD DE FERTILIDAD FERTIVIDA SAS',\n", + " 'INSUMOS PARA SU IMPRENTA S A S',\n", + " 'LLANOPET SAS',\n", + " 'FGI GARANTIAS INMOBILIARIAS S A EN LIQUIDACION',\n", + " 'TECNIDESARROLLO S A S',\n", + " 'OV LOGISTICS S A S',\n", + " 'GP CONTRUCCIONES Y PROYECTOS S A S',\n", + " 'COMPANIA NACIONAL DE TECNOLOGIAS MEDICAS S A S',\n", + " 'MULTI OFICINAS DE COLOMBIA S A S',\n", + " 'FRENOS ANDINOS S A S',\n", + " 'SOLUCIONES HIDRAULICAS O B S A S',\n", + " 'INVERSIONES GASTRANS S A S',\n", + " 'VANDENENDEN S A S',\n", + " 'SCALATTO S A S',\n", + " 'TRANSPORTADORA DE CARGA Y LOGISTICA S A',\n", + " 'LUPITA FLOWERS S A S',\n", + " 'TALENT MANAGEMENT SERVICES S A S',\n", + " 'KAPITAL INTERNATIONAL S A S',\n", + " 'INMETALTEC S A S',\n", + " 'QUINTERO ALZATE IVAN ARLEY',\n", + " 'INGENIERIA METALMECANICA ELECTROTECNICA S A S',\n", + " 'FERRECONSTRUCCIONES SAS',\n", + " 'INGENIERIA CONSTRUCCIONES Y SERVICIOS LS S A S',\n", + " 'COMERCIALIZADORA DE EMPAQUES SYS S A S',\n", + " 'FUNDACION CHILDREN OF THE HOUSE',\n", + " 'INVERSIONES SARLESTE S A S',\n", + " 'TIENDA FERRETERA DEL HUILA SAS',\n", + " 'GUAINIA TOURS S A S',\n", + " 'FERRALPO S A S',\n", + " 'DURLEY PATRICIA BALLESTEROS',\n", + " 'BICODE SAS',\n", + " 'ZULUAGA GIRALDO ELKIN WBALDO',\n", + " 'FUNDACION PARA EL DESARROLLO INTEGRAL DE LA COMUNIDAD FUNDIC',\n", + " 'ALFONSO GARCES ZULUAGA',\n", + " 'C I WORLD MARKET SAS',\n", + " 'ALMACENADORA DE MEDICAMENTOS Y SUMINISTROS MEDICOS S A S',\n", + " 'IZASEG S A S',\n", + " 'LOPEZ DUQUE DUBERLEY EDINSON',\n", + " 'HERNANDO GENE PROYECTOS S A S',\n", + " 'BLUEFIRE INGENIERIA S A S',\n", + " 'RAMALZA S A S',\n", + " 'GRUPO XXI TECNOLOGIA PARA EL SIGLO S A S',\n", + " 'TOCH S A S',\n", + " 'MAQUINARIA AGRICOLA DE COLOMBIA S A S',\n", + " 'ESCOBAR MEJIA LUIS ALFONSO',\n", + " 'CENTRAL DE HILOS S A S',\n", + " 'HOSPITAL SAN CARLOS SALDANA',\n", + " 'PUBLIEMPAQUES S A S',\n", + " 'INVERSIONES CHIGUATA S A S EN LIQUIDACION',\n", + " 'INFRAESTRUCTURA Y SERVICIOS INTEGRALES S A S',\n", + " 'COMERCIALIZADORA NACIONAL DE CARNES S A S',\n", + " 'MARIN GARCIA JAVIER ALEXANDER',\n", + " 'INVERSIONES SUPERMARKET L&C S A S',\n", + " 'ADORMODA S A S',\n", + " 'ARENAS HERMANOS INVERSIONES S C A',\n", + " 'ORDONEZ S A',\n", + " 'ALIANZA SABANA SAS',\n", + " 'GARCIA VELEZ RODRIGO ALBERTO',\n", + " 'INVERSIONES UMBRIA ZOMAC S A S',\n", + " 'GABRIEL JAIME FERNANDEZ Y COMPANIA S A S',\n", + " 'FUNDACION CALATRAVA PARA LA ENSENANZA PRECOZ',\n", + " 'CASTROMAR NAVEGACIONES S A',\n", + " 'EMPRENDER SERVICIOS TEMPORALES SAS EMPSERT',\n", + " 'I PETRORIENTE S A S',\n", + " 'INVERSIONES CARATAL S A',\n", + " 'TERRITORIO AVENTURA S A S',\n", + " 'INSURANCE & CAPITAL LTDA',\n", + " 'ZM INGENIERIA SAS',\n", + " 'AGRO FILTER DEL LLANO S A S',\n", + " 'SUPERMERCADO LA CANASTA FRESCA S A S',\n", + " 'LACTEOS EMILIA GROUP S A S',\n", + " 'SERVIGAS CINTAS Y LUJOS SAS',\n", + " 'DISTRIBUIDORA DE PAPAYAS RENDON S A S',\n", + " 'FAICOL S A S',\n", + " 'MOTOAGIL DEL SUR S A S',\n", + " 'EMPRESA DE SERVICIOS PUBLICOS DE PUERTO LOPEZ ESPUERTO S A E S P',\n", + " 'KIMIK S A S',\n", + " 'SECURITY AND PROTECTION LTDA',\n", + " 'PILAS CORDOBA S A S',\n", + " 'INGECASA INGENIEROS S A',\n", + " 'EQUIMED LTDA',\n", + " 'GRUPO MEDICO ESPECIALIZADO MEDELLIN S A S',\n", + " 'INVERSIONES CAVER S A S',\n", + " 'TURISMO EL GLOBO S A S',\n", + " 'GRUPO COMERCIAL ALDANA SAS',\n", + " 'SERVICIOS Y ALIMENTOS NACIONALES S A S',\n", + " 'FRANCO GONZALEZ JAIME',\n", + " 'ARMANDO CAMACHO POLANIA',\n", + " 'CASAS Y COSAS S A S',\n", + " 'FERRETERIA COACERO JVC S A S',\n", + " 'ASINCO S A S',\n", + " 'GIRALDO GARCES ROGUER',\n", + " 'AVANCE MEDICO S A',\n", + " 'SOUTH AMERICAN PLASTIC SURGERY S A S',\n", + " 'FEVA INTERNACIONAL SAS',\n", + " 'ESTRUCTURAS Y AGUAS I C S A S',\n", + " 'PROYECTO NASH S A S',\n", + " 'MED LINE S A S',\n", + " 'INVERSIONES LAZUS J E S A S',\n", + " 'SOLUCIONES LOGISTICAS TCL S A S',\n", + " 'CEPEDA GUERRA GIRALDO AURELIO',\n", + " 'GIMNASIO ALTAIR DE LA SABANA LTDA',\n", + " 'FUNDACION CAPITAL FUNDAK SUCURSAL COLOMBIANA',\n", + " 'COMERCIALIZADORA J B J S A S',\n", + " 'P&Q SOLUCIONES ENERGETICAS S A S',\n", + " 'DEFA S A S',\n", + " 'TEXPROINN S A S',\n", + " 'RESTAURANTE BAR EL TRANSPORTADOR SAS',\n", + " 'GARAY DE OLAYA MARIA PAULINA',\n", + " 'SINERGIA INMOBILIARIA S A S',\n", + " 'QUESOS Y LACTEOS JERUSALEM PINZON SAS',\n", + " 'DISTRINSUMOS FARAON SAS',\n", + " 'TERMOQUIMICA S A S',\n", + " 'SUPERMERCADO EL ECONOMICO REMEDIOS S A S',\n", + " 'PRESENTE AGENCIA DE SEGUROS LTDA',\n", + " 'AH MANTENIMIENTO Y MONTAJES S A S',\n", + " 'SERVINGENIERIA R & J SAS',\n", + " 'ALMACEN TORNITUERCAS S A S',\n", + " 'AGENCIA DE ADUANAS EXPORCOMEX LTDA',\n", + " 'SANANDO S A S',\n", + " 'LADECOL S A S',\n", + " 'TALENTO PRE ESCOLAR INSTITUCION EDUCATIVA LTDA',\n", + " 'ROZEN INGENIEROS CONTRATISTAS E U EN LIQUIDACION',\n", + " 'OPTENET S A',\n", + " 'COOPERATIVA TRANSPORTADORA FLUVIAL Y TERRESTRE DE ARAUCA LTDA EN REORGANIZACION',\n", + " 'FERRETERIA LA UNION VDC S A S',\n", + " 'JUAN FERNANDO DIAZ LOPEZ',\n", + " 'LIFE PLAST S A S',\n", + " 'DACAR FILTROS S A S',\n", + " 'BISCOTTINO S A S',\n", + " 'CORREA BOTERO S A S',\n", + " 'ECORECYCLAR GESTION SOSTENIBLE S A S',\n", + " 'COMERCIALIZADORA DE LECHE SANTIMAR S A S',\n", + " 'SUNCO ENERGY S A S E S P',\n", + " 'BURGOS GRILLO GUILLERMO',\n", + " 'INDUSTRIA COLOMBIANA DE MEZCLAS S A S',\n", + " 'EXPOMINERALES DEL META SAS',\n", + " 'COOPERATIVA DE TRANSPORTE SOLIDARIO',\n", + " 'INVERSIONES LIBOS AUTOMOVILES Y COMPANIA LTDA',\n", + " 'MONTOYA GALVIS JOAN SEBASTIAN',\n", + " 'PROYECTAMOS ASESORES Y CONSULTORES S A S',\n", + " 'EMPAQUES Y CONTENIDOS S A S',\n", + " 'CEPEDA PRIETO LUZ DARY',\n", + " 'CONSTRUCCIONES ALGUACIL S A S ZOMAC',\n", + " 'REDES INTELIGENTES S A S REDINTSAS',\n", + " 'ELEVEN GRP SAS',\n", + " 'NAU GROUP S A S',\n", + " 'CDA TECNOSABANA SAS',\n", + " ...]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(set(df4['Company'])) # With this we obtain a list where the company names are not repeated." + ] + }, + { + "cell_type": "markdown", + "id": "76a1e50e", + "metadata": {}, + "source": [ + "We choose two companies at random, a random starting year (from among the possible ones) and we do not enter a specific ending year (we let it be equal to the default value). We then use them in our created function:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "dbb4cf52", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "( Company Year OR\n", + " 0 LELE S A S 2017.00 987721.00\n", + " 1 LELE S A S 2018.00 559227.00\n", + " 2 LELE S A S 2019.00 1349564.00\n", + " 3 LELE S A S 2020.00 184484.00\n", + " 4 LELE S A S 2021.00 261623.00\n", + " 5 LELE S A S 2022.00 4395306.00\n", + " 6 LELE S A S 2023.00 NaN\n", + " 7 ARLOW S A S 2017.00 874026.00\n", + " 8 ARLOW S A S 2018.00 791878.00\n", + " 9 ARLOW S A S 2019.00 1096514.00\n", + " 10 ARLOW S A S 2020.00 1462894.00\n", + " 11 ARLOW S A S 2021.00 831023.00\n", + " 12 ARLOW S A S 2022.00 4296811.00\n", + " 13 ARLOW S A S 2023.00 NaN,\n", + " {'Company': 'Company name',\n", + " 'Year': 'Year in which operating revenue was recorded',\n", + " 'OR': 'Operating revenue (in local currency units)'})" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "firm_name=['LELE S A S','ARLOW S A S']\n", + "start_year=2017\n", + "call_data(firm_name,start_year)" + ] + }, + { + "cell_type": "markdown", + "id": "6201cf32", + "metadata": {}, + "source": [ + "It can be seen that using the function the required tuple is obtained." + ] + }, + { + "cell_type": "markdown", + "id": "69db6bda", + "metadata": {}, + "source": [ + "6. Generate a class that do the same as the function, but has a method named as `descripitive` that gives you the mean, max, min, median, and rolling average.\n", + "\n", + "We implement the required class in the following lines of code. The detailed explanation is shown on the same lines." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "2930fd25", + "metadata": {}, + "outputs": [], + "source": [ + "class Data_Caller:\n", + " \n", + " # We initialize the objects of the class with __init__:\n", + " def __init__(self, df=df4):\n", + " \n", + " # With this we make the class by default have as its initial attribute the dataset that contains all the company names and all the OR years.\n", + " self.df = df \n", + " \n", + " def call_data(self, firm_name, start_year, end_year=2023): # We create the call_data method, which in structure will be the same as the previously created function.\n", + " \n", + " df4 = self.df # We obtain the DataFrame initially entered.\n", + " \n", + " # What follows has a similar structure to the function created above and already explained in detail above. Therefore we skip the explanation of the following lines.\n", + " for name in firm_name:\n", + " c = (df4['Company'] == name).any()\n", + " \n", + " if c == False:\n", + " result = 'One of the company names entered is not found within the data set.'\n", + " print(result)\n", + " return result\n", + " \n", + " else:\n", + " d=(df4['Year'] == start_year).any() \n", + " d_=(df4['Year'] == end_year).any() \n", + " \n", + " if d==False or d_==False:\n", + " result= 'One of the years entered is not found in the dataset.'\n", + " print(result)\n", + " return result\n", + " \n", + " else:\n", + " e = df4['Company'] != name\n", + " df5 = df4.drop(df4[e].index)\n", + " \n", + " f = df5['Year'] < start_year\n", + " df5 = df5.drop(df5[f].index)\n", + " \n", + " g = df5['Year'] > end_year\n", + " df5 = df5.drop(df5[g].index)\n", + " \n", + " if firm_name.index(name) == 0:\n", + " df6 = df5.copy(deep=True)\n", + " else:\n", + " df6 = pd.concat([df6, df5], ignore_index=True)\n", + " \n", + " # Now, the difference is that we will create the following attributes.\n", + " self.df_result=df6 # We save the resulting dataframe in the 'df_result' attribute\n", + " self.dic=dic # We save the dictionary created in the 'dic' attribute.\n", + " self.start=start_year # We save the start year of the data in the 'start' attribute \n", + " self.end=end_year # We save the final year of the data in the 'end' attribute\n", + " \n", + " result = (self.df_result, self.dic) # We create the required tuple using the created attributes.\n", + " \n", + " return result\n", + " \n", + " def descriptive(self): # We additionally create this method that requires the question.\n", + " \n", + " # First we get the resulting DataFrame that we got earlier using the attribute we created for it.\n", + " h = self.df_result\n", + " # Then we get the descriptive statistics of this Dataframe.\n", + " h_ = h.describe().drop(columns='Year') # We drop the column since it is not of interest to see the descriptive statistics on this variable.\n", + " \n", + " # Now, to look at the descriptive statistics at the level of each company, we first group the Dataframe data according to the company with the groupby method.\n", + " i = h.groupby([h.columns[0]])\n", + " # Then we get the descriptive statistics of this Dataframe.\n", + " i_ = i.describe().drop(columns='Year') # We drop the column since it is not of interest to see the descriptive statistics on this variable.\n", + " \n", + " # Now, to add the rolling average to the descriptive statistics we do the following:\n", + " if self.end-self.start>2:\n", + " # If the resulting dataset has more than two years of OR recorded, then we will find the rolling average considering that each window will have the last 3 years.\n", + " j=i.rolling(window=3).mean()\n", + " \n", + " elif self.end-self.start==2:\n", + " # If the resulting dataset has only two years of OR recorded then we will find the rolling average considering that each window will have the last 2 years.\n", + " j=i.rolling(window=2).mean()\n", + " \n", + " else: \n", + " # If the resulting dataset has only one year of OR recorded then we will not find the rolling average and will simply print the following message:\n", + " j='The rolling average is not found as there are less than two years of ORs recorded in the resulting data set.'\n", + " print(j)\n", + " return h,i_,j\n", + " \n", + " return h_,i_,j" + ] + }, + { + "cell_type": "markdown", + "id": "30f6c5d4", + "metadata": {}, + "source": [ + "Now we check if the created class has the same functionality as the `call_data` function.\n", + "\n", + "First we create an object using this class:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "f112170c", + "metadata": {}, + "outputs": [], + "source": [ + "Companies=Data_Caller()" + ] + }, + { + "cell_type": "markdown", + "id": "07135204", + "metadata": {}, + "source": [ + "Now we use the `call_data` method using `firm_name` and `start_year` as inputs which were created previously when the `call_data` function was tested." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "a5cd0a06", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "( Company Year OR\n", + " 0 LELE S A S 2017.00 987721.00\n", + " 1 LELE S A S 2018.00 559227.00\n", + " 2 LELE S A S 2019.00 1349564.00\n", + " 3 LELE S A S 2020.00 184484.00\n", + " 4 LELE S A S 2021.00 261623.00\n", + " 5 LELE S A S 2022.00 4395306.00\n", + " 6 LELE S A S 2023.00 NaN\n", + " 7 ARLOW S A S 2017.00 874026.00\n", + " 8 ARLOW S A S 2018.00 791878.00\n", + " 9 ARLOW S A S 2019.00 1096514.00\n", + " 10 ARLOW S A S 2020.00 1462894.00\n", + " 11 ARLOW S A S 2021.00 831023.00\n", + " 12 ARLOW S A S 2022.00 4296811.00\n", + " 13 ARLOW S A S 2023.00 NaN,\n", + " {'Company': 'Company name',\n", + " 'Year': 'Year in which operating revenue was recorded',\n", + " 'OR': 'Operating revenue (in local currency units)'})" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Companies.call_data(firm_name,start_year)" + ] + }, + { + "cell_type": "markdown", + "id": "5adc37c3", + "metadata": {}, + "source": [ + "You can see that the same tuple is obtained as was obtained using the `call_data` function. Now we use the `descriptive` method." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "66482c39", + "metadata": {}, + "outputs": [], + "source": [ + "d_1,d_2,d_3=Companies.descriptive()" + ] + }, + { + "cell_type": "markdown", + "id": "6055103e", + "metadata": {}, + "source": [ + "Finally, we show the descriptive statistics found with the implemented method:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "d6db4c40", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Global descriptive statistics\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
OR
count12.00
mean1424255.92
std1416633.83
min184484.00
25%733715.25
50%930873.50
75%1377896.50
max4395306.00
\n", + "
" + ], + "text/plain": [ + " OR\n", + "count 12.00\n", + "mean 1424255.92\n", + "std 1416633.83\n", + "min 184484.00\n", + "25% 733715.25\n", + "50% 930873.50\n", + "75% 1377896.50\n", + "max 4395306.00" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print('Global descriptive statistics')\n", + "d_1" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "bcfa48d4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Descriptive statistics by company\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
OR
countmeanstdmin25%50%75%max
Company
ARLOW S A S6.001558857.671364284.04791878.00841773.75985270.001371299.004296811.00
LELE S A S6.001289654.171584398.89184484.00336024.00773474.001259103.254395306.00
\n", + "
" + ], + "text/plain": [ + " OR \\\n", + " count mean std min 25% 50% \n", + "Company \n", + "ARLOW S A S 6.00 1558857.67 1364284.04 791878.00 841773.75 985270.00 \n", + "LELE S A S 6.00 1289654.17 1584398.89 184484.00 336024.00 773474.00 \n", + "\n", + " \n", + " 75% max \n", + "Company \n", + "ARLOW S A S 1371299.00 4296811.00 \n", + "LELE S A S 1259103.25 4395306.00 " + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print('Descriptive statistics by company')\n", + "d_2" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "f10904e4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rolling average by company\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
YearOR
Company
ARLOW S A S7NaNNaN
8NaNNaN
92018.00920806.00
102019.001117095.33
112020.001130143.67
122021.002196909.33
132022.00NaN
LELE S A S0NaNNaN
1NaNNaN
22018.00965504.00
32019.00697758.33
42020.00598557.00
52021.001613804.33
62022.00NaN
\n", + "
" + ], + "text/plain": [ + " Year OR\n", + "Company \n", + "ARLOW S A S 7 NaN NaN\n", + " 8 NaN NaN\n", + " 9 2018.00 920806.00\n", + " 10 2019.00 1117095.33\n", + " 11 2020.00 1130143.67\n", + " 12 2021.00 2196909.33\n", + " 13 2022.00 NaN\n", + "LELE S A S 0 NaN NaN\n", + " 1 NaN NaN\n", + " 2 2018.00 965504.00\n", + " 3 2019.00 697758.33\n", + " 4 2020.00 598557.00\n", + " 5 2021.00 1613804.33\n", + " 6 2022.00 NaN" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print('Rolling average by company')\n", + "d_3" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.18" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}