clean dataset
This commit is contained in:
parent
68131cfdfe
commit
c6915fe63e
305
analysis1.ipynb
305
analysis1.ipynb
|
@ -2,18 +2,7 @@
|
|||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 20,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Necessary libraries\n",
|
||||
"import pandas as pd\n",
|
||||
"import numpy as np"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 21,
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
@ -109,7 +98,7 @@
|
|||
}
|
||||
],
|
||||
"conversionMethod": "pd.DataFrame",
|
||||
"ref": "a9104025-3514-4dca-bdc7-4745f489815b",
|
||||
"ref": "12a85fd7-7b36-4ff2-bae9-05e2193cf380",
|
||||
"rows": [
|
||||
[
|
||||
"0",
|
||||
|
@ -396,23 +385,25 @@
|
|||
"4 *GH013834, *GH013835, *GH013836, *GH013837, *G... NaN "
|
||||
]
|
||||
},
|
||||
"execution_count": 21,
|
||||
"execution_count": 126,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Load the dataset\n",
|
||||
"df = pd.read_csv(\"meyer.csv\")\n",
|
||||
"# Import necessary libraries\n",
|
||||
"import pandas as pd\n",
|
||||
"import numpy as np\n",
|
||||
"\n",
|
||||
"# Print an initial summary\n",
|
||||
"# Load the raw dataset\n",
|
||||
"df = pd.read_csv(\"meyer.csv\")\n",
|
||||
"print(\"Initial DataFrame shape:\", df.shape)\n",
|
||||
"df.head()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 22,
|
||||
"execution_count": 127,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
@ -424,41 +415,22 @@
|
|||
}
|
||||
],
|
||||
"source": [
|
||||
"# Inspect columns and rename them for clarity\n",
|
||||
"# Standardize column names\n",
|
||||
"df.columns = df.columns.str.lower().str.strip().str.replace(\" \", \"_\").str.replace(\"-\", \"_\")\n",
|
||||
"\n",
|
||||
"print(\"Renamed columns:\", df.columns.tolist())"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 23,
|
||||
"execution_count": 128,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Any missing values in factor columns?\n",
|
||||
" moisture 0\n",
|
||||
"spring_stiffness 0\n",
|
||||
"displacement_screw_setting 0\n",
|
||||
"motor_speed 0\n",
|
||||
"dtype: int64\n",
|
||||
"Any missing values in factor columns?\n",
|
||||
" moisture 0\n",
|
||||
"spring_stiffness 0\n",
|
||||
"displacement_screw_setting 0\n",
|
||||
"motor_speed 0\n",
|
||||
"dtype: int64\n",
|
||||
"Any missing values in factor columns?\n",
|
||||
" moisture 0\n",
|
||||
"spring_stiffness 0\n",
|
||||
"displacement_screw_setting 0\n",
|
||||
"motor_speed 0\n",
|
||||
"dtype: int64\n",
|
||||
"Any missing values in factor columns?\n",
|
||||
" moisture 0\n",
|
||||
"Missing values in factor columns:\n",
|
||||
"moisture 0\n",
|
||||
"spring_stiffness 0\n",
|
||||
"displacement_screw_setting 0\n",
|
||||
"motor_speed 0\n",
|
||||
|
@ -467,16 +439,17 @@
|
|||
}
|
||||
],
|
||||
"source": [
|
||||
"# Verify factor columns and parse them into correct data types\n",
|
||||
"# Define factor columns and convert them to numeric\n",
|
||||
"factor_cols = [\"moisture\", \"spring_stiffness\", \"displacement_screw_setting\", \"motor_speed\"]\n",
|
||||
"for col in factor_cols:\n",
|
||||
" df[col] = pd.to_numeric(df[col], errors=\"coerce\")\n",
|
||||
" print(\"Any missing values in factor columns?\\n\", df[factor_cols].isnull().sum())"
|
||||
"print(\"Missing values in factor columns:\")\n",
|
||||
"print(df[factor_cols].isnull().sum())"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 24,
|
||||
"execution_count": 129,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
@ -488,49 +461,34 @@
|
|||
}
|
||||
],
|
||||
"source": [
|
||||
"# Identify the crack outcome columns\n",
|
||||
"# Identify crack outcome columns\n",
|
||||
"crack_cols = [c for c in df.columns if c not in factor_cols]\n",
|
||||
"print(\"Crack columns identified:\", crack_cols)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 25,
|
||||
"execution_count": 130,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Count total video references per row\n",
|
||||
"def extract_video_ids(cell_value):\n",
|
||||
" \"\"\"\n",
|
||||
" cell_value is a string with video references (like '*GH013810, *GH013811')\n",
|
||||
" We'll split by comma, strip spaces, and return a list of IDs\n",
|
||||
" If cell_value is NaN or empty, return empty list\n",
|
||||
" \"\"\"\n",
|
||||
"# Define functions to extract video IDs from a cell and count unique video IDs across crack columns.\n",
|
||||
"def extract_video_ids(cell_value: str) -> list:\n",
|
||||
" if pd.isna(cell_value):\n",
|
||||
" return []\n",
|
||||
" # Split on comma\n",
|
||||
" items = cell_value.split(\",\")\n",
|
||||
" # Clean up whitespace\n",
|
||||
" items = [x.strip() for x in items if x.strip() != \"\"]\n",
|
||||
" return items\n",
|
||||
" return [x.strip() for x in cell_value.split(\",\") if x.strip() != \"\"]\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"# We'll accumulate all IDs across the crack columns for each row\n",
|
||||
"def count_unique_videos(row):\n",
|
||||
"def count_unique_videos(row: pd.Series) -> int:\n",
|
||||
" all_ids = []\n",
|
||||
" for col in crack_cols:\n",
|
||||
" # row[col] might be a string with multiple video references\n",
|
||||
" ids = extract_video_ids(row[col])\n",
|
||||
" all_ids.extend(ids)\n",
|
||||
" return len(set(all_ids))\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"df[\"video_count\"] = df.apply(count_unique_videos, axis=1)"
|
||||
" all_ids.extend(extract_video_ids(row[col]))\n",
|
||||
" return len(set(all_ids))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 26,
|
||||
"execution_count": 131,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
@ -547,59 +505,55 @@
|
|||
"6 6 False\n",
|
||||
"7 6 False\n",
|
||||
"8 6 False\n",
|
||||
"9 6 False\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Flag rows with fewer than 6 videos as missing\n",
|
||||
"df[\"missing_videos_flag\"] = df[\"video_count\"] < 6\n",
|
||||
"print(df[[\"video_count\", \"missing_videos_flag\"]].head(10))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 27,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"9 6 False\n",
|
||||
"Number of runs with fewer than 6 videos: 16\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Keep those rows for now with a note\n",
|
||||
"missing_count = df[\"missing_videos_flag\"].sum()\n",
|
||||
"print(f\"Number of runs with fewer than 6 videos: {missing_count}\")"
|
||||
"# Compute unique video counts for each row and flag incomplete runs\n",
|
||||
"df[\"video_count\"] = df.apply(count_unique_videos, axis=1)\n",
|
||||
"df[\"missing_videos_flag\"] = df[\"video_count\"] < 6\n",
|
||||
"print(df[[\"video_count\", \"missing_videos_flag\"]].head(10))\n",
|
||||
"print(f\"Number of runs with fewer than 6 videos: {df['missing_videos_flag'].sum()}\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 28,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Data checks for motor_speed range\n",
|
||||
"valid_speeds = [30, 45, 60]\n",
|
||||
"mask_invalid_speed = ~df[\"motor_speed\"].isin(valid_speeds)\n",
|
||||
"if mask_invalid_speed.any():\n",
|
||||
" print(\"Invalid motor_speed values found:\")\n",
|
||||
" print(df.loc[mask_invalid_speed, \"motor_speed\"].unique())"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 29,
|
||||
"execution_count": 132,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"df_long shape: (3769, 6)\n"
|
||||
"Motor Speed values: [60 45 30]\n",
|
||||
"Moisture values: [5 7 9]\n",
|
||||
"Displacement Screw Setting values: [0.29 0.22 0.36]\n",
|
||||
"Spring Stiffness values: [1800 2000 2200]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Verify that factor columns contain the expected values.\n",
|
||||
"\n",
|
||||
"# %%\n",
|
||||
"print(\"Motor Speed values:\", df[\"motor_speed\"].unique()) # Expected: [30, 45, 60]\n",
|
||||
"print(\"Moisture values:\", df[\"moisture\"].unique()) # Expected: [5, 7, 9]\n",
|
||||
"print(\"Displacement Screw Setting values:\", df[\"displacement_screw_setting\"].unique()) # Expected: [0.22, 0.29, 0.36]\n",
|
||||
"print(\"Spring Stiffness values:\", df[\"spring_stiffness\"].unique()) # Expected: [1800, 2000, 2200]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 133,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Long-format DataFrame shape: (3769, 6)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -643,7 +597,7 @@
|
|||
}
|
||||
],
|
||||
"conversionMethod": "pd.DataFrame",
|
||||
"ref": "c2bb5139-cf11-4a42-8dfc-98a822b57b6c",
|
||||
"ref": "66f7239c-e784-429e-914f-e3d50900eb0a",
|
||||
"rows": [
|
||||
[
|
||||
"0",
|
||||
|
@ -889,54 +843,149 @@
|
|||
"9 *GH013810 circumferential_more_than_75% "
|
||||
]
|
||||
},
|
||||
"execution_count": 29,
|
||||
"execution_count": 133,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Reshape data to a \"long\" format\n",
|
||||
"all_records = []\n",
|
||||
"# Create long-format records: one row per video ID with its corresponding factor values and crack type.\n",
|
||||
"records = []\n",
|
||||
"for idx, row in df.iterrows():\n",
|
||||
" # get factor values\n",
|
||||
" row_factors = {\"moisture\": row[\"moisture\"], \"spring_stiffness\": row[\"spring_stiffness\"], \"displacement_screw_setting\": row[\"displacement_screw_setting\"], \"motor_speed\": row[\"motor_speed\"]}\n",
|
||||
" # gather crack data\n",
|
||||
" # Extract factor values for the run\n",
|
||||
" factors = {col: row[col] for col in factor_cols}\n",
|
||||
" # Iterate through each crack outcome column and extract video IDs\n",
|
||||
" for col in crack_cols:\n",
|
||||
" video_ids = extract_video_ids(row[col])\n",
|
||||
" # each video ID is a single pecan with a crack classification col\n",
|
||||
" # col is the classification type\n",
|
||||
" for vid in video_ids:\n",
|
||||
" # Build a record\n",
|
||||
" record = row_factors.copy()\n",
|
||||
" record = factors.copy()\n",
|
||||
" record[\"video_id\"] = vid\n",
|
||||
" record[\"crack_type\"] = col # the name of the classification\n",
|
||||
" all_records.append(record)\n",
|
||||
" record[\"crack_type\"] = col # Original crack category name\n",
|
||||
" records.append(record)\n",
|
||||
"\n",
|
||||
"df_long = pd.DataFrame(all_records)\n",
|
||||
"\n",
|
||||
"print(\"df_long shape:\", df_long.shape)\n",
|
||||
"df_long = pd.DataFrame(records)\n",
|
||||
"print(\"Long-format DataFrame shape:\", df_long.shape)\n",
|
||||
"df_long.head(10)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 30,
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Data cleaning complete. Cleaned files saved.\n"
|
||||
"Raw aggregated columns: ['video_id', 'moisture', 'spring_stiffness', 'displacement_screw_setting', 'motor_speed', 'circumferential_between_25_50%', 'circumferential_between_50_75%', 'circumferential_less_than_25%', 'circumferential_more_than_75%', 'crushed', 'longitudinal_between_25_50%', 'longitudinal_between_50_75%', 'longitudinal_less_than_25%', 'longitudinal_more_than_75%', 'open_crack', 'untouched']\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Save the reshaped data\n",
|
||||
"df.to_csv(\"meyer_cleaned_wide.csv\", index=False)\n",
|
||||
"df_long.to_csv(\"meyer_cleaned_long.csv\", index=False)\n",
|
||||
"# Pivot the long-format data with 'video_id' and factors as the index, and crack_type as columns.\n",
|
||||
"df_aggregated = df_long.pivot_table(index=[\"video_id\", \"moisture\", \"spring_stiffness\", \"displacement_screw_setting\", \"motor_speed\"], columns=\"crack_type\", values=\"crack_type\", aggfunc=lambda x: 1, fill_value=0).reset_index()\n",
|
||||
"\n",
|
||||
"print(\"Data cleaning complete. Cleaned files saved.\")"
|
||||
"# Print raw aggregated column names\n",
|
||||
"print(\"Raw aggregated columns:\", df_aggregated.columns.tolist())"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"After reassigning factor names:\n",
|
||||
"['video', 'moisture', 'spring', 'displacement', 'motor', 'circumferential_between_25_50%', 'circumferential_between_50_75%', 'circumferential_less_than_25%', 'circumferential_more_than_75%', 'crushed', 'longitudinal_between_25_50%', 'longitudinal_between_50_75%', 'longitudinal_less_than_25%', 'longitudinal_more_than_75%', 'open_crack', 'untouched']\n",
|
||||
"Raw crack outcome columns: Index(['circumferential_between_25_50%', 'circumferential_between_50_75%',\n",
|
||||
" 'circumferential_less_than_25%', 'circumferential_more_than_75%',\n",
|
||||
" 'crushed', 'longitudinal_between_25_50%', 'longitudinal_between_50_75%',\n",
|
||||
" 'longitudinal_less_than_25%', 'longitudinal_more_than_75%',\n",
|
||||
" 'open_crack', 'untouched'],\n",
|
||||
" dtype='object')\n",
|
||||
"Columns after renaming crack outcomes:\n",
|
||||
"['video', 'moisture', 'spring', 'displacement', 'motor', 'C_2', 'C_3', 'C_1', 'C_4', 'X', 'L_2', 'L_3', 'L_1', 'L_4', 'O', 'U']\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Expected factor names:\n",
|
||||
"expected_factor_cols = [\"video\", \"moisture\", \"spring\", \"displacement\", \"motor\"]\n",
|
||||
"\n",
|
||||
"# Get current aggregated columns as a list\n",
|
||||
"current_cols = df_aggregated.columns.tolist()\n",
|
||||
"\n",
|
||||
"# Replace the first five columns with our desired factor names.\n",
|
||||
"for i in range(len(expected_factor_cols)):\n",
|
||||
" current_cols[i] = expected_factor_cols[i]\n",
|
||||
"df_aggregated.columns = current_cols\n",
|
||||
"print(\"After reassigning factor names:\")\n",
|
||||
"print(df_aggregated.columns.tolist())\n",
|
||||
"\n",
|
||||
"# Print remaining crack outcome columns (raw)\n",
|
||||
"print(\"Raw crack outcome columns:\", df_aggregated.columns[5:])\n",
|
||||
"\n",
|
||||
"# Define renaming dictionary for crack outcomes:\n",
|
||||
"rename_dict = {\"untouched\": \"U\", \"longitudinal_less_than_25%\": \"L_1\", \"longitudinal_between_25_50%\": \"L_2\", \"longitudinal_between_50_75%\": \"L_3\", \"longitudinal_more_than_75%\": \"L_4\", \"circumferential_less_than_25%\": \"C_1\", \"circumferential_between_25_50%\": \"C_2\", \"circumferential_between_50_75%\": \"C_3\", \"circumferential_more_than_75%\": \"C_4\", \"open_crack\": \"O\", \"crushed\": \"X\"}\n",
|
||||
"\n",
|
||||
"# Rename crack outcome columns (columns 6 onward)\n",
|
||||
"new_crack_cols = [rename_dict.get(col, col) for col in df_aggregated.columns[5:]]\n",
|
||||
"# Combine factor columns with renamed crack outcome columns\n",
|
||||
"df_aggregated.columns = expected_factor_cols + new_crack_cols\n",
|
||||
"print(\"Columns after renaming crack outcomes:\")\n",
|
||||
"print(df_aggregated.columns.tolist())"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 136,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Final aggregated binary column order:\n",
|
||||
"['video', 'moisture', 'spring', 'displacement', 'motor', 'U', 'L_1', 'L_2', 'L_3', 'L_4', 'C_1', 'C_2', 'C_3', 'C_4', 'O', 'X']\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Define desired order for crack outcome columns\n",
|
||||
"desired_order = [\"U\", \"L_1\", \"L_2\", \"L_3\", \"L_4\", \"C_1\", \"C_2\", \"C_3\", \"C_4\", \"O\", \"X\"]\n",
|
||||
"# Factor columns remain as defined\n",
|
||||
"factor_order = expected_factor_cols\n",
|
||||
"# Extract current crack outcome columns (from index 5 onward)\n",
|
||||
"current_crack_cols = df_aggregated.columns.tolist()[5:]\n",
|
||||
"# Reorder crack outcome columns based on desired order (only include those present)\n",
|
||||
"new_crack_cols_ordered = [col for col in desired_order if col in current_crack_cols]\n",
|
||||
"# Combine factor columns with the newly ordered crack outcome columns\n",
|
||||
"new_column_order = factor_order + new_crack_cols_ordered\n",
|
||||
"df_aggregated = df_aggregated[new_column_order]\n",
|
||||
"print(\"Final aggregated binary column order:\")\n",
|
||||
"print(df_aggregated.columns.tolist())"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 137,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Final renamed aggregated binary dataset saved as 'meyer_aggregated_binary_renamed.csv'.\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Save the final aggregated binary dataset with the desired column names to a single CSV file.\n",
|
||||
"df_aggregated.to_csv(\"meyer_aggregated_binary_renamed.csv\", index=False)\n",
|
||||
"print(\"Final renamed aggregated binary dataset saved as 'meyer_aggregated_binary_renamed.csv'.\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,244 +0,0 @@
|
|||
moisture,spring_stiffness,displacement_screw_setting,motor_speed,untouched,longitudinal_less_than_25%,longitudinal_between_25_50%,longitudinal_between_50_75%,longitudinal_more_than_75%,circumferential_less_than_25%,circumferential_between_25_50%,circumferential_between_50_75%,circumferential_more_than_75%,open_crack,crushed,video_count,missing_videos_flag
|
||||
5,1800,0.29,60,,,,,"*GH013810, *GH013811, *GH013812, *GH013813, *GH013814, *GH013815",,"*GH013812, *GH013813, *GH013814",,"*GH013810, *GH013811, *GH013815","*GH013810, *GH013811, *GH013812, *GH013813, *GH013814, *GH013815",,6,False
|
||||
5,1800,0.22,45,,,,,"*GH013816, *GH013817, *GH013818, *GH013819, *GH013820, *GH013821",,*GH013818,*GH013821,"*GH013816, *GH013817, *GH013819, *GH013820","*GH013816, *GH013817, *GH013818, *GH013819, *GH013820, *GH013821",,6,False
|
||||
5,1800,0.36,30,*GH013822,,,*GH013823,"*GH013824, *GH013825, *GH013826, *GH013827","*GH013823, *GH013826",,"*GH013824, *GH013827",*GH013825,"*GH013823, *GH013824, *GH013825, *GH013827",,6,False
|
||||
5,1800,0.36,60,*GH013832,,,,"*GH013828, *GH013829, *GH013830, *GH013831, *GH013833",*GH013829,"*GH013830, *GH013833",*GH013828,*GH013831,"*GH013828, *GH013830, *GH013831, *GH013833",,6,False
|
||||
5,1800,0.22,30,,,,,"*GH013834, *GH013835, *GH013836, *GH013837, *GH013838, *GH013839",,,*GH013836,"*GH013834, *GH013835, *GH013837, *GH013838, *GH013839","*GH013834, *GH013835, *GH013836, *GH013837, *GH013838, *GH013839",,6,False
|
||||
5,1800,0.29,45,,,,,"*GH013840, *GH013841, , *GH013842, *GH013843, *GH013844",,*GH013843,*GH013844,"*GH013840, *GH013841, *GH013842, *GH013844","*GH013840, *GH013841, *GH013842, *GH013844",*GH013842,5,True
|
||||
5,1800,0.29,30,,,,*GH013848,"*GH013845, *GH013846, *GH013847, *GH013849, *GH013850",,*GH013848,"*GH013845, *GH013847, *GH013849","*GH013846, *GH013850","*GH013845, *GH013846, *GH013847, *GH013849, *GH013850",,6,False
|
||||
5,1800,0.36,45,,,,"*GH013851, *GH013855","*GH013852, *GH013853, *GH013854, *GH013856","*GH013851, *GH013855","*GH013852, *GH013856",*GH013854,*GH013853,"*GH013852, *GH013853, *GH013854",,6,False
|
||||
5,1800,0.22,60,,,,,"*GH013857, *GH013858, *GH013859, *GH013860, *GH013861, *GH013862",,,"*GH013857, *GH013861","*GH013858, *GH013859, *GH013860, *GH013862","*GH013857, *GH013858, *GH013859, *GH013860, *GH013861, *GH013862",,6,False
|
||||
5,1800,0.22,30,,,,,"*GH013863, *GH013864, *GH013865, *GH013866, *GH013867, *GH013868",,,"*GH013866, *GH013867","*GH013863, *GH013864, *GH013865, *GH013868","*GH013863, *GH013864, *GH013865, *GH013866, *GH013867, *GH013868",,6,False
|
||||
5,1800,0.29,60,,,,,"*GH013869, *GH013870, *GH013871, *GH013872, *GH013873, *GH013874",,"*GH013870, *GH013873","*GH013871, *GH013872","*GH013869, *GH013874","*GH013869, *GH013870, *GH013871, *GH013873, *GH013874",,6,False
|
||||
5,1800,0.29,45,,,,,"*GH013875, *GH013876, *GH013877, *GH013878, *GH013879, *GH013880",*GH013879,,*GH013875,"*GH013876, *GH013877, *GH013878, *GH013880","*GH013875, *GH013876, *GH013877, *GH013878, *GH013880",,6,False
|
||||
5,1800,0.36,45,,,,"*GH013881, *GH013882, *GH013883","*GH013884, *GH013885, *GH013886","*GH013881, *GH013882, *GH013883, *GH013884",,,"*GH013885, *GH013886","*GH013883, *GH013885",*GH013886,6,False
|
||||
5,1800,0.29,30,,,,,"*GH013887, *GH013888, *GH013889, *GH013890, *GH013891, *GH013892",*GH013890,,"*GH013889, *GH013892","*GH013887, *GH013888, *GH013891","*GH013887, *GH013888, *GH013889, *GH013890, *GH013891",*GH013891,6,False
|
||||
5,1800,0.22,45,"*GH013893, *GH013896",,,,"*GH013894, *GH013895, *GH013897, *GH013898","*GH013894, *GH013895",*GH013897,,*GH013898,"*GH013897, *GH013898",*GH013898,6,False
|
||||
5,1800,0.36,30,"*GH013899, *GH013902, *GH013903, *GH013904",*GH013901,,,*GH013900,*GH013901,,,*GH013900,*GH013900,,6,False
|
||||
5,1800,0.22,60,,,,,"*GH013905, *GH013906, *GH013907, *GH013908, *GH013909, *GH013910",,*GH013906,*GH013908,"*GH013905, *GH013907, *GH013909, *GH013910","*GH013905, *GH013906, *GH013907, *GH013908, *GH013909, *GH013910",,6,False
|
||||
5,1800,0.36,60,"*GH013915, *GH013916",,,"*GH013912, *GH013913","*GH013911, *GH013914","*GH013911, *GH013912, *GH013913",,*GH013914,,*GH013914,,6,False
|
||||
5,1800,0.22,60,,,,,"*GH013917, *GH013918, *GH013919, *GH013920, *GH013921, *GH013922",,,*GH013918,"*GH013917, *GH013919, *GH013920, *GH013921, *GH013922","*GH013917, *GH013918, *GH013919, *GH013920, *GH013921, *GH013922",,6,False
|
||||
5,1800,0.36,30,,,,*GH013927,"*GH013923, *GH013924, *GH013925, *GH013926, *GH013928","*GH013927, *GH013928","*GH013923, *GH013924, *GH013925",*GH013926,,"*GH013923, *GH013924, *GH013925, *GH013926, *GH013928",,6,False
|
||||
5,1800,0.29,45,,,,,"*GH013929, *GH013930, *GH013931, *GH013932, *GH013933, *GH013934",,*GH013931,"*GH013929, *GH013930, *GH013932, *GH013933",*GH013934,"*GH013929, *GH013930, *GH013931, *GH013932, *GH013933, *GH013934",*GH013934,6,False
|
||||
5,1800,0.29,30,,,,*GH013940,"*GH013935, *GH013936, *GH013937, *GH013938, *GH013939",,"*GH013936, *GH013938, *GH013940","*GH013937, *GH013939",*GH013935,"*GH013935, *GH013936, *GH013937, *GH013938, *GH013939, *GH013940",,6,False
|
||||
5,1800,0.36,60,*GH013946,,,,"*GH013941, *GH013942, *GH013943, *GH013944, *GH013945",,"*GH013942, *GH013944, *GH013945",,"*GH013941, *GH013943","*GH013941, *GH013942, *GH013943, *GH013944, *GH013945","*GH013941, *GH013943",6,False
|
||||
5,1800,0.22,30,,,,,"*GH013947, *GH013948, *GH013949, *GH013950, *GH013951, *GH013952",,,,"*GH013947, *GH013948, *GH013949, *GH013950, *GH013951, *GH013952","*GH013947, *GH013948, *GH013949, *GH013950, *GH013951, *GH013952",,6,False
|
||||
5,1800,0.29,60,,,,,"*GH013953, *GH013954, *GH013955, *GH013956, *GH013957, *GH013958",,*GH013955,"*GH013953, *GH013956, *GH013957","*GH013954, *GH013958","*GH013953, *GH013954, *GH013955, *GH013956, *GH013957, *GH013958",,6,False
|
||||
5,1800,0.22,45,,,,,"*GH013959, *GH013960, *GH013961, *GH013962, *GH013963, *GH013964",,,"*GH013960, *GH013962","*GH013959, *GH013961, *GH013963, *GH013964","*GH013959, *GH013960, *GH013961, *GH013962, *GH013963, *GH013964",*GH013964,6,False
|
||||
5,1800,0.36,45,,,,"*GH013965, *GH013968","*GH013966, *GH013967, *GH013969, *GH013970","*GH013965, *GH013966, *GH013967, *GH013968, *GH013970",*GH013969,,,"*GH013966, *GH013967, *GH013969",,6,False
|
||||
5,2000,0.29,60,,,,,"GH013293, GH013294, GH013295, GH013296, GH013297, GH013298",GH013294,"GH013293, GH013296, GH013297","GH013295, GH013298",,"GH013293, GH013295, GH013296, GH013297, GH013298",,6,False
|
||||
5,2000,0.22,45,,,,,"GH013299, GH013300, GH013301, GH013302, GH013303, GH013304",,"GH013299,GH013304","GH013300, GH013301, GH013302, GH013303",,"GH013299, GH013300, GH013301, GH013302, GH013303, GH013304",,6,False
|
||||
5,2000,0.36,30,"GH013306, GH013309",,,"GH013307, GH013308","GH013305, GH013310","GH013307, GH013308, GH013310",GH013305,,,"GH013305, GH013307, GH013310",,6,False
|
||||
5,2000,0.36,60,"GH013314, GH013315, GH013316",,,GH013313,"GH013311, GH013312","GH013311, GH013312",GH013313,,,GH013313,,6,False
|
||||
5,2000,0.22,30,,,,,"GH013317, GH013318, GH013319, GH013320, GH013321, GH013322",,"GH013318, GH013322","GH013317, GH013321","GH013319, GH013320","GH013317, GH013318, GH013319, GH013320, GH013321, GH013322",,6,False
|
||||
5,2000,0.29,45,,,,GH013328,"GH013323, GH013324, GH013325, GH013326, GH013327",GH013324,"GH013323, GH013325, GH013326, GH013327, GH013328",,,"GH013325, GH013326, GH013327, GH013328",,6,False
|
||||
5,2000,0.29,30,,,,"GH013329, GH013330","GH013331, GH013332, GH013333, GH013334",GH013332,"GH013329, GH013330","GH013331, GH013333, GH013334",,"GH013329, GH013330, GH013331, GH013332, GH013333, GH013334",,6,False
|
||||
5,2000,0.36,45,"GH013335, GH013338, GH013339, GH013340",,,,"GH013336, GH013337","GH013336, GH013337",,,,GH013336,,6,False
|
||||
5,2000,0.22,60,,,,,"GH013341, GH013342, GH013343, GH013344, GH013345, GH013346",,,"GH013341, GH013345","GH013342, GH013343, GH013344, GH013346","GH013341, GH013342, GH013343, GH013344, GH013345, GH013346",,6,False
|
||||
5,2000,0.22,30,,,,GH013348,"GH013347, GH013349, GH013350, GH013351, GH013352",GH013348,,"GH013350, GH013351","GH013347, GH013349, GH013352","GH013347, GH013349, GH013350, GH013351, GH013352",,6,False
|
||||
5,2000,0.29,60,,,,,"GH013353, GH013354, GH013355, GH013356, GH013357, GH013358","GH013353, GH013354",GH013356,"GH013355, GH013357, GH013358",,"GH013353, GH013355, GH013357, GH013358",,6,False
|
||||
5,2000,0.29,45,,,,,"GH013359, GH013360, GH013361, GH013362, GH013363, GH013364",GH013364,"GH013359, GH013360, GH013361, GH013362, GH013363",,,"GH013359, GH013360, GH013362, GH013363, GH013364",,6,False
|
||||
5,2000,0.36,45,"GH013367, GH013368, GH013369, GH013370",,,,"GH013365, GH013366",,"GH013365, GH013366",,,"GH013365, GH013366",,6,False
|
||||
5,2000,0.29,30,,,GH013370,,"GH013372, GH013373, GH013374, GH013375, GH013375",,"GH013373, GH013374, GH013375, GH013376","GH013371, GH013372",,"GH013372, GH013373, GH013374, GH013375, GH013376",,7,False
|
||||
5,2000,0.22,45,,GH013382,,,"GH013377, GH013378, GH013379, GH013380, GH013381",GH013382,GH013379,"GH013377, GH013378","GH013380, GH013381","GH013377, GH013378, GH013379, GH013380, GH013381",,6,False
|
||||
5,2000,0.36,30,"GH013385, GH013386",,,GH013384,"GH013383, GH013387, GH013388","GH013383, GH013387, GH013388",GH013384,,,GH013384,,6,False
|
||||
5,2000,0.22,60,,,,,"GH013389, GH013390, GH013391, GH013392, GH013393, GH013394",,,"GH013389, GH013390, GH013392, GH013393, GH013394",GH013391,"GH013390, GH013391, GH013392, GH013393",,6,False
|
||||
5,2000,0.36,60,GH013398,,,GH013395,"GH013396, GH013397, GH013398, GH013400","GH013395, GH013400","GH013396, GH013397, GH013398",,,"GH013396, GH013397",,5,True
|
||||
5,2000,0.22,60,,,,,"GH013401, GH013402, GH013403, GH013404, GH013405, GH013406",,,,"GH013401, GH013402, GH013403, GH013404, GH013405, GH013406","GH013401, GH013402, GH013403, GH013404, GH013405, GH013406",,6,False
|
||||
5,2000,0.36,30,"GH0133407, GH0133409",,,,"GH0133408, GH0133410, GH0133411, GH0133412","GH0133408, GH0133411, GH0133412",,,GH0133410,GH0133410,,6,False
|
||||
5,2000,0.29,45,,,,GH0133413,"GH0133414, GH0133415, GH0133416, GH0133417, GH0133418",GH0133413,"GH0133417, GH0133418","GH0133415, GH0133416",GH0133414,"GH0133413, GH0133414, GH0133415, GH0133416, GH0133417, GH0133418",,6,False
|
||||
5,2000,0.29,30,,,,GH0133424,"GH0133419, GH0133420, GH0133421, GH0133422, GH0133423",GH0133422,"GH0133420, GH0133421, GH0133423, GH0133424",GH0133419,,"GH0133419, GH0133420, GH0133421, GH0133422, GH0133424",,6,False
|
||||
5,2000,0.36,60,"GH0133426, GH0133427",,,"GH0133425, GH0133429","GH0133428, GH0133430","GH0133429, GH0133430",GH0133428,,GH0133425,GH0133425,,6,False
|
||||
5,2000,0.22,30,,,,,"GH0133431, GH0133432, GH0133433, GH0133434, GH0133435, GH0133436",,GH0133434,"GH0133431, GH0133433, GH0133435, GH0133436",GH0133432,"GH0133431, GH0133432, GH0133433, GH0133434, GH0133435, GH0133436",,6,False
|
||||
5,2000,0.29,60,,,,,"GH0133437, GH0133438, GH0133439, GH0133440, GH0133441, GH0133442",,"GH0133438, GH0133439, GH0133440, GH0133441, GH0133442",,GH0133437,"GH0133437, GH0133438, GH0133439, GH0133440, GH0133441, GH0133442",,6,False
|
||||
5,2000,0.22,45,"GH0133444, GH0133445, GH0133446, GH0133447, GH0133448",,,,GH0133443,,,,GH0133443,GH0133443,,6,False
|
||||
5,2000,0.36,45,,,,"GH0133451, GH0133452, GH0133453","GH0133449, GH0133450, GH0133454","GH0133449, GH0133450, GH0133452, GH0133453",GH0133451,GH0133454,,"GH0133451, GH0133454",,6,False
|
||||
5,2200,0.29,60,,,,*GH014135,"*GH014130, *GH014131, *GH014132, *GH014133, *GH014134",,"*GH014131, *GH014134","*GH014130, *GH014132, *GH014133, *GH014135",,"*GH014130, *GH014131, *GH014132, *GH014133, *GH014134, *GH014135",,6,False
|
||||
5,2200,0.22,45,,,,,"*GH014136, *GH014137, *GH014138, *GH014139, *GH014140, *GH014141",,,*GH014138,"*GH014136, *GH014137, *GH014139, *GH014140, *GH014141","*GH014136, *GH014137, *GH014138, *GH014139, *GH014140, *GH014141","*GH014139, *GH014140, *GH014141",6,False
|
||||
5,2200,0.36,30,*GH014147,,,*GH014142,"*GH014143, *GH014144, *GH014145, *GH014146","*GH014142, *GH014144, *GH014145",*GH014143,*GH014146,,"*GH014143, *GH014144, *GH014146",,6,False
|
||||
5,2200,0.36,60,"*GH014151, *GH014152",,,,"*GH014148, *GH014149, *GH014150, *GH014153",,*GH014153,*GH014150,*GH014148,"*GH014148, *GH014149, *GH014150",*GH014148,6,False
|
||||
5,2200,0.22,30,,,,,"*GH014154, *GH014155, *GH014156, *GH014157, *GH014158, *GH014159",,,,"*GH014154, *GH014155, *GH014156, *GH014157, *GH014158, *GH014159","*GH014154, *GH014155, *GH014156, *GH014157, *GH014158, *GH014159",,6,False
|
||||
5,2200,0.29,45,,,,,"*GH014160, *GH014162, *GH014163, *GH014164, *GH014165, *GH014166",*GH014160,,"*GH014162, *GH014163, *GH014165","*GH014164, *GH014166","*GH014162, *GH014163, *GH014164, *GH014165, *GH014166",,6,False
|
||||
5,2200,0.29,30,,,,"*GH014168, *GH014170","*GH014167, *GH014169, *GH014171, *GH014172",,"*GH014170, *GH014171","*GH014168, *GH014172","*GH014167, *GH014169","*GH014167, *GH014168, *GH014169, *GH014170, *GH014171, *GH014172",,6,False
|
||||
5,2200,0.36,45,,,,"*GH014173, *GH014174, *GH014175, *GH014176",*GH014177,"*GH014174, *GH014176, *GH014177",*GH014175,*GH014173,,"*GH014173, *GH014175",,5,True
|
||||
5,2200,0.22,60,,,,,"*GH014178, *GH014179, *GH014180, *GH014181, *GH014182, *GH014183",,,,"*GH014178, *GH014179, *GH014180, *GH014181, *GH014182, *GH014183","*GH014178, *GH014179, *GH014180, *GH014181, *GH014182, *GH014183",*GH014182,6,False
|
||||
5,2200,0.22,30,,,,,"*GH014184, *GH014185, *GH014186, *GH014187, *GH014188",,,,"*GH014184, *GH014185, *GH014186, *GH014187, *GH014188","*GH014184, *GH014185, *GH014186, *GH014187, *GH014188","*GH014186, *GH014189",6,False
|
||||
5,2200,0.29,60,,,,,"*GH014190, *GH014191, *GH014192, *GH014193, *GH014194, *GH014195",*GH014190,,"*GH014191, *GH014193, *GH014194","*GH014192, *GH014195","*GH014192, *GH014193, *GH014194, *GH014195","*GH014192, *GH014195",6,False
|
||||
5,2200,0.29,45,,,,,"*GH014196, *GH014197, *GH014198, *GH014199, *GH014200, *GH014201",,"*GH014196, *GH014199, *GH014200",*GH014197,"*GH014198, *GH014201","*GH014197, *GH014198, *GH014199, *GH014200, *GH014201",,6,False
|
||||
5,2200,0.36,45,,,,*GH014207,"*GH014202, *GH014203, *GH014205, *GH014206","*GH014202, *GH014206, *GH014207",*GH014203,*GH014205,,"*GH014203, *GH014205",,5,True
|
||||
5,2200,0.29,30,,,,*GH014219,"*GH014214, *GH014215, *GH014216, *GH014217, *GH014218",,"*GH014214, *GH014216, *GH014218, *GH014219",*GH014215,*GH014217,"*GH014214, *GH014215, *GH014216, *GH014217",,6,False
|
||||
5,2200,0.22,45,,,,,"*GH014220, *GH014221, *GH014222, *GH014223, *GH014224",,,*GH014223,"*GH014220, *GH014221, *GH014222, *GH014224","*GH014220, *GH014222, *GH014223, *GH014224",,5,True
|
||||
5,2200,0.36,30,*GH014228,,,*GH014230,"*GH014225, *GH014226, *GH014227, *GH014229",,"*GH014225, *GH014226, *GH014229, *GH014230",*GH014227,,"*GH014227, *GH014229, *GH014230",,6,False
|
||||
5,2200,0.22,60,,,,," *GH014231, *GH014232, *GH014233, *GH014234, *GH014235, *GH014236",,,*GH014234," *GH014231, *GH014232, *GH014233, *GH014235, *GH014236"," *GH014231, *GH014232, *GH014233, *GH014234, *GH014235, *GH014236",,6,False
|
||||
5,2200,0.36,60,,,,"*GH014237, *GH014239, *GH014242","*GH014238, *GH014240, *GH014241","*GH014237, *GH014238, *GH014239, *GH014240, *GH014242",*GH014241,,,*GH014242,,6,False
|
||||
5,2200,0.22,60,,,,,"*GH014243, *GH014244, *GH014245, *GH014246, *GH014247, *GH014248",,,"*GH014243, *GH014245","*GH014244, *GH014246, *GH014247, *GH014248","*GH014243, *GH014244, *GH014245, *GH014246, *GH014247, *GH014248",*GH014244,6,False
|
||||
5,2200,0.36,30,,,,,"*GH014249, *GH014250, *GH014251, *GH014252, *GH014253, *GH014254",*GH014254,"*GH014251, *GH014252","*GH014249, *GH014250, *GH014253",,"*GH014250, *GH014251, *GH014252, *GH014253",,6,False
|
||||
5,2200,0.29,45,,,,*GH014256,"*GH014255, *GH014257, *GH014258, *GH014259, *GH014260",*GH014255," *GH014256, *GH014259","*GH014258, *GH014260",*GH014257,"*GH014257, *GH014258, *GH014259, *GH014260",,6,False
|
||||
5,2200,0.29,30,,,,"*GH014261, *GH014262","*GH014263, *GH014264, *GH014265, *GH014266",,"*GH014261, *GH014265","*GH014262, *GH014264, *GH014266",*GH014263,"*GH014261, *GH014262, *GH014263, *GH014264, *GH014265, *GH014266",,6,False
|
||||
5,2200,0.36,60,,,,,"*GH014267, *GH014268, *GH014269, *GH014270, *GH014271, *GH014272","*GH014267, *GH014270",*GH014268,*GH014271,"*GH014269, *GH014272","*GH014268, *GH014269, *GH014271, *GH014272",*GH014272,6,False
|
||||
5,2200,0.22,30,,,,,"*GH014273, *GH014274, *GH014275, *GH014276, *GH014277",,,*GH014276,"*GH014273, *GH014274, *GH014275, *GH014277","*GH014273, *GH014274, *GH014275, *GH014276, *GH014277",,5,True
|
||||
5,2200,0.29,60,,,,*GH014278,"*GH014279, *GH014280, *GH014281, *GH014282",,"*GH014278, *GH014280","*GH014281, *GH014282",*GH014279,"*GH014278, *GH014279, *GH014280, *GH014281, *GH014282",,5,True
|
||||
5,2200,0.22,45,,,,,"*GH014283, *GH014284, *GH014285, *GH014286, *GH014287, *GH014288",,*GH014286,,"*GH014283, *GH014284, *GH014285, *GH014287, *GH014288","*GH014283, *GH014284, *GH014285, *GH014286, *GH014287, *GH014288",,6,False
|
||||
5,2200,0.36,45,*GH014291,,,,"*GH014289, *GH014290, *GH014292, *GH014293, *GH014294",*GH014290,"*GH014289, *GH014293",,"*GH014292, *GH014294","*GH014292, *GH014293, *GH014294",,6,False
|
||||
7,1800,0.36,45,GH013538,,,,"GH013539, GH013541, GH013542, GH013543","GH013539, GH013542, GH013543",,,GH013541,"GH013540, GH013542",GH013541,6,False
|
||||
7,1800,0.22,30,,,,,"GH013544, GH013545, GH013546, GH013547, GH013548, GH013549",,GH013544,"GH013545, GH013546","GH013545, GH013546, GH013547, GH013548, GH013549","GH013544, GH013545, GH013546, GH013547, GH013549",,6,False
|
||||
7,1800,0.36,30,,,"GH013550, GH013553",,"GH013551, GH013552, GH013554, GH013555","GH013550, GH013551, GH013553, GH013554, GH013555",,GH013552,,"GH013552, GH013554, GH013555",,6,False
|
||||
7,1800,0.29,30,,,,,"GH013556, GH013557, GH013558, GH013559, GH013560, GH013561",,"GH013556, GH013557, GH013561",GH013559,"GH013558, GH013560","GH013556, GH013557, GH013558, GH013559, GH013560, GH013561",,6,False
|
||||
7,1800,0.22,45,,,,,"GH013562, GH013563, GH013564, GH013565, GH013566, GH013567",,,,"GH013562, GH013563, GH013564, GH013565, GH013566, GH013567","GH013562, GH013563, GH013564, GH013565, GH013566, GH013567",,6,False
|
||||
7,1800,0.36,60,,,GH013488,,"GH013485, GH013486, GH013487, GH013489, GH013490","GH013486, GH013489, GH013490",GH013487,,"GH013485, GH013488","GH013485, GH013486, GH013487, GH013489, GH013490",GH013485,6,False
|
||||
7,1800,0.29,60,,,,"GH013492, GH013494","GH013491, GH013493, GH013495, GH013496",GH013495,"GH013492, GH013496","GH013491, GH013494",GH013493,"GH013491, GH013492, GH013493, GH013494, GH013495, GH013496",,6,False
|
||||
7,1800,0.22,60,,,,,"GH013497, GH013498, GH013499, GH013500, GH013501, GH013502",,,GH013502,"GH013497, GH013498, GH013499, GH013500, GH013501, GH013502","GH013497, GH013498, GH013499, GH013500, GH013501, GH013502",,6,False
|
||||
7,1800,0.29,45,,,,,"GH013568, GH013569, GH013570, GH013571, GH013572, GH013573","GH013568, GH013571","GH013569, GH013572, GH013573",,GH013570,"GH013569, GH013570, GH013572, GH013573",,6,False
|
||||
7,1800,0.36,30,GH013577,,,GH013576,"GH013574, GH013575, GH013578, GH013579","GH013574, GH013576, GH013578, GH013579",GH013575,,,GH013575,,6,False
|
||||
7,1800,0.22,60,,,,,"GH013515, GH013516, GH013517, GH013518, GH013519, GH013520",,,,"GH013515, GH013516, GH013517, GH013518, GH013519, GH013520","GH013515, GH013516, GH013517, GH013518, GH013519, GH013520",GH013518,6,False
|
||||
7,1800,0.36,60,GH013522,,,,"GH013521, GH013523, GH013524, GH013525, GH013526",GH013526,GH013525,,"GH013521, GH013523, GH013524","GH013521, GH013523, GH013524, GH013525",,6,False
|
||||
7,1800,0.36,45,*GH013585,,,,"*GH013580, *GH013581, *GH013582, *GH013583, *GH013584",*GH013581,"*GH013580, *GH013582",*GH013583,*GH013584,"*GH013580, *GH013583, *GH013584",,6,False
|
||||
7,1800,0.22,45,,,,,"*GH013586, *GH013587, *GH013588, *GH013589",,,,"*GH013586, *GH013587, *GH013588, *GH013589","*GH013586, *GH013587, *GH013588, *GH013589",,4,True
|
||||
7,1800,0.29,30,,,,,"*GH013590, *GH013591, *GH013592, *GH013593, *GH013594, *GH013595",*GH013595,"*GH013591, *GH013592, *GH013593",*GH013590, *GH013594,"*GH013590, *GH013591, *GH013592, *GH013593, *GH013594",,6,False
|
||||
7,1800,0.22,30,,,,,"*GH013596, *GH013597, *GH013598, *GH013599, *GH013600, *GH013601",,,*GH013597,"*GH013596, *GH013598, *GH013599, *GH013600, *GH013601","*GH013596, *GH013597, *GH013598, *GH013599, *GH013600, *GH013601",,6,False
|
||||
7,1800,0.29,45,,,,,"*GH013602, *GH013603, *GH013604, *GH013605, *GH013606, *GH013607",*GH013603,"*GH013604, *GH013605, *GH013607",*GH013602,*GH013606,"*GH013602, *GH013604, *GH013605, *GH013606, *GH013607",,6,False
|
||||
7,1800,0.29,60,,,,GH013504,"GH013503, GH013505, GH013506, GH013507, GH013508",,"GH013504, GH013505, GH013506, GH013507, GH013508",,GH013503,"GH013503, GH013504, GH013505, GH013508",,6,False
|
||||
7,1800,0.22,45,,,,,"*GH013608, *GH013609, *GH013610, *GH013611, *GH013612",,,,"*GH013608, *GH013609, *GH013610, *GH013611, *GH013612","*GH013608, *GH013609, *GH013610, *GH013611, *GH013612",,5,True
|
||||
7,1800,0.36,60,"GH013457, GH013460","GH013456, GH013459",GH013455,GH013458,,"GH013455, GH013456, GH013458, GH013459",,,,GH013458,,6,False
|
||||
7,1800,0.22,60,,,,,"GH013461, GH013462, GH013463, GH013464, GH013465, GH013466",,GH013466,GH013462,"GH013461, GH013463, GH013464, GH013465","GH013461, GH013462, GH013463, GH013464, GH013465, GH013466",,6,False
|
||||
7,1800,0.22,30,,,,,"GH013613, GH013614, GH013615, GH013616, GH013617, GH013618",,,,"GH013613, GH013614, GH013615, GH013616, GH013617, GH013618","GH013613, GH013614, GH013615, GH013616, GH013617, GH013618",GH013616,6,False
|
||||
7,1800,0.36,45,GH013623,,,,"GH013619, GH013620, GH013621, GH013622, GH013624","GH013619, GH013620","GH013621, GH013622, GH013624",,,"GH013619, GH013622",,6,False
|
||||
7,1800,0.29,45,,,,,"GH013625, GH013626, GH013627, GH013628, GH013629, GH013630",GH013627,"GH013625, GH013626",,"GH013628, GH013629, GH013630","GH013625, GH013626, GH013628, GH013629, GH013630",,6,False
|
||||
7,1800,0.36,30,GH013632,,,GH013636,"GH013631, GH013633, GH013634, GH013635",GH013636,"GH013634, GH013635",GH013631,GH013633,"GH013631, GH013633, GH013634, GH013635",,6,False
|
||||
7,1800,0.29,60,,,,,"GH013473, GH013474, GH013475, GH013476, GH013477, GH013478",,GH013474,"GH013474, GH013478","GH013473, GH013476, GH013477","GH013473, GH013474, GH013475, GH013476, GH013477, GH013478",,6,False
|
||||
7,1800,0.29,30,,,,,"GH013637, GH013638, GH013639, GH013640, GH013641, GH013643",,GH013639,,"GH013637, GH013638, GH013640, GH013641, GH013643","GH013637, GH013638, GH013639, GH013640, GH013641, GH013643",GH013640,6,False
|
||||
7,2000,0.36,45,GH012972,,,"GH012967, GH012968, GH012969, GH012971",GH012970,"GH012968, GH012969","GH012970, GH012971",GH012967,,"GH012967, GH012970, GH012971",,6,False
|
||||
7,2000,0.22,30,,,,,"GH012973, *GH012974, *GH012975, *GH012976, *GH012977, *GH012978",,*GH012974,"GH012973, *GH012976, *GH012977","*GH012975, *GH012978","GH012973, *GH012974, *GH012975, *GH012976, *GH012977, *GH012978",,6,False
|
||||
7,2000,0.36,30,GH012981,"GH012980, GH012983",,GH012984,"GH012979, GH012982","GH012980, GH012982, GH012983, GH012984",GH012979,,,,,6,False
|
||||
7,2000,0.29,30,,,,GH012988,"GH012986, GH012987, GH012989, GH012990",,"GH012986, GH012987, GH012988, GH012990",GH012989,,GH012990,,5,True
|
||||
7,2000,0.22,45,,,,,"GH012992, GH012993, GH012994, GH012995, GH012996, GH012997",,,"GH012996, GH012997","GH012992, GH012993, GH012994, GH012995","GH012992, GH012993, GH012994, GH012995, GH012996, GH012997",,6,False
|
||||
7,2000,0.36,60,GH013003,GH012999,,"GH013000, GH013001, GH013002",GH012998,"GH012998, GH012999","GH013001, GH013002",GH013000,,"GH013001, GH013002",,6,False
|
||||
7,2000,0.29,60,,GH013006,,"GH013008, GH013009","GH013004, GH013005, GH013007",GH013006,"GH013005, GH013008, GH013009","GH013004, GH013007",,"GH013004, GH013005, GH013008, GH013009",,6,False
|
||||
7,2000,0.22,60,,,,,"GH013010, GH013011, GH013012, GH013013, GH013014, GH013015",,,"GH013011, GH013012, GH013013, GH013014","GH013010, GH013015","GH013010, GH013011, GH013012, GH013013, GH013014, GH013015",,6,False
|
||||
7,2000,0.29,45,,,,"GH013016, GH013018, GH013019","GH013017, GH013020, GH013021",,"GH013016, GH013017, GH013018, GH013019","GH013020, GH013021",,"GH013016, GH013017, GH013018, GH013019, GH013020, GH013021",,6,False
|
||||
7,2000,0.36,30,"GH013024, GH013027",,,"GH013023, GH013025, GH013026",GH013022,"GH013022, GH013023, GH013025, GH013026",,,,,,6,False
|
||||
7,2000,0.22,60,,,,,"GH013028, GH013029, GH013030, GH013031, GH013032, GH013033",,,"GH013028, GH013031","GH013029, GH013030, GH013032, GH013033","GH013028, GH013029, GH013030, GH013031, GH013032, GH013033",,6,False
|
||||
7,2000,0.36,60,GH013036,,"GH013037, GH013038","GH013034, GH013039",GH013035,,"GH013034, GH013035, GH013037, GH013038, GH013039",,,"GH013034, GH013037, GH013038, GH013039",,6,False
|
||||
7,2000,0.36,45,GH013044,,,"GH013040, GH013041, GH013042, GH013043",GH013045,"GH013040, GH013041, GH013042, GH013043, GH013045",,,GH013045,,,6,False
|
||||
7,2000,0.22,45,,,,GH013051,"GH013046, GH013047, GH013048, GH013049, GH013050",,,"GH013046, GH013050, GH013051","GH013047, GH013048, GH013049","GH013046, GH013047, GH013048, GH013049, GH013050, GH013051",,6,False
|
||||
7,2000,0.29,30,,,GH013055,"GH013052, GH013056","GH013053, GH013054, GH013057",,GH013056,"GH013052, GH013053, GH013054, GH013057",GH013055,"GH013052, GH013053, GH013054, GH013055, GH013056, GH013057",,6,False
|
||||
7,2000,0.22,30,,,,,"GH013058, GH013059, GH013060, GH013061, GH013062, GH013063",,,"GH013059, GH013060, GH013063","GH013058, GH013061, GH013062","GH013058, GH013059, GH013060, GH013061, GH013062, GH013063",,6,False
|
||||
7,2000,0.29,45,GH013066,,,GH013067,"GH013064, GH013065, GH013068, GH013069",GH013067,"GH013065, GH013068","GH013064, GH013069",GH013069,,,6,False
|
||||
7,2000,0.29,60,,,,"GH013071, GH013075","GH013070, GH013072, GH013073, GH013074","GH013071, GH013072","GH013070, GH013075","GH013073, GH013074",,"GH013070, GH013072, GH013073, GH013074, GH013075",,6,False
|
||||
7,2000,0.22,45,,,,,"GH013076, GH013077, GH013078, GH013079, GH013080, GH013081",,,"GH013076, GH013078, GH013081","GH013077, GH013079, GH013080","GH013076, GH013077, GH013078, GH013079, GH013080, GH013081",,6,False
|
||||
7,2000,0.36,60,GH013082,,,"GH013084, GH013086","GH013083, GH013085, GH013087","GH013084, GH013086","GH013085, GH013087",GH013083,,"GH013083, GH013086",,6,False
|
||||
7,2000,0.22,60,,,,,"GH013088, GH013089, GH013090, GH013091, GH013092, GH013093",,,,"GH013088, GH013089, GH013090, GH013091, GH013092, GH013093","GH013088, GH013089, GH013090, GH013091, GH013092, GH013093",GH013088,6,False
|
||||
7,2000,0.22,30,,,,,"GH013094, GH013095, GH013096, GH013097, GH013098, GH013099",,,"GH013098, GH013099","GH013094, GH013095, GH013096, GH013097","GH013094, GH013095, GH013096, GH013097, GH013098, GH013099",,6,False
|
||||
7,2000,0.36,45,GH013103,,,,"GH013100, GH013101, GH013102, GH013104, GH013105","GH013100, GH013101, GH013102","GH013104, GH013105",,,GH013104,,6,False
|
||||
7,2000,0.29,45,,,,GH013110,"GH013106, GH013107, GH013108, GH013109, GH013111",GH013106,GH013110,GH013108,"GH013107, GH013109, GH013111","GH013107, GH013108, GH013109, GH013110, GH013111",,6,False
|
||||
7,2000,0.36,30,,GH013116,,"GH013112, GH013114, GH013115, GH013117",GH013113,"GH013112, GH013114, GH013115, GH013116, GH013117",GH013113,,,GH013113,,6,False
|
||||
7,2000,0.29,60,,,,,"GH013118, GH013119, GH013120, GH013121, GH013122, GH013123",,"GH013118, GH013119, GH013122","GH013120, GH013121, GH013123",,"GH013118, GH013119, GH013120, GH013121, GH013122, GH013123",,6,False
|
||||
7,2000,0.29,30,,,,GH013128,"GH013124, GH013125, GH013126, GH013127, GH013129",,"GH013124, GH013125, GH013128","GH013126, GH013127, GH013129",,"GH013124, GH013125, GH013126, GH013127, GH013129",,6,False
|
||||
7,2200,0.36,45,,*GH013975,,"*GH013973, *GH013976","*GH013971, *GH013972, *GH013974",*GH013973,"*GH013974, *GH013976",*GH013975,"*GH013971, *GH013972","*GH013971, *GH013972, *GH013976",*GH013972,6,False
|
||||
7,2200,0.22,30,,,,,"*GH013977, *GH013978, *GH013979, *GH013980, *GH013981, *GH013982",,,*GH013981,"*GH013977, *GH013978, *GH013979, *GH013980, *GH013981, *GH013982","*GH013977, *GH013978, *GH013979, *GH013980, *GH013981, *GH013982","*GH013977, *GH013980",6,False
|
||||
7,2200,0.36,30,,,*GH013988,"*GH013983, *GH013986","*GH013984, *GH013985, *GH013987","*GH013983, *GH013986, *GH013987, *GH013988",*GH013985,*GH013984,,"*GH013984, *GH013985, *GH013987",,6,False
|
||||
7,2200,0.29,30,,,,,"*GH013989, *GH013990, *GH013991, *GH013992, *GH013993",,*GH013989,*GH013991,"*GH013990, *GH013992, *GH013993","*GH013989, *GH013990, *GH013991, *GH013992, *GH013993",,5,True
|
||||
7,2200,0.22,45,,,,,"*GH013994, *GH013995, *GH013996, *GH013997, *GH013998, *GH013999",,*GH013995,,"*GH013994, *GH013996, *GH013997, *GH013998, *GH013999","*GH013994, *GH013995, *GH013996, *GH013997, *GH013998, *GH013999",*GH013997,6,False
|
||||
7,2200,0.36,60,*GH014001,,,*GH014003,"*GH014000, *GH014002, *GH014004, *GH014005",*GH014005,"*GH014002, *GH014003, *GH014004",,*GH014000,"*GH014000, *GH014004",,6,False
|
||||
7,2200,0.29,60,,,,,"*GH014007, *GH014007, *GH014008, *GH014009, *GH014010, *GH014011",,,"*GH014006, *GH014008, *GH014009, *GH014010","*GH014007, *GH014011","*GH014006, *GH014007, *GH014008, *GH014009, *GH014010, *GH014011",,6,False
|
||||
7,2200,0.22,60,,,,,"*GH014012, *GH014013, *GH014014, *GH014015, *GH014016, *GH014017",,,*GH014013,"*GH014012, *GH014014, *GH014015, *GH014016, *GH014017","*GH014012, *GH014013, *GH014014, *GH014015, *GH014016, *GH014017",,6,False
|
||||
7,2200,0.29,45,,,,*GH014021,"*GH014018, *GH014019, *GH014020, *GH014022",,*GH014021,"*GH014019, *GH014020","*GH014018, *GH014022","*GH014018, *GH014019, *GH014020, *GH014021, *GH014022",*GH014018,5,True
|
||||
7,2200,0.36,30,,,*GH014028,*GH014024,"*GH014023, *GH014025, *GH014026, *GH014027","*GH014024, *GH014027, *GH014028","*GH014025, *GH014026",*GH014023,,"*GH014023, *GH014026",,6,False
|
||||
7,2200,0.22,60,,,,,"*GH014029, *GH014030, *GH014031, *GH014032, *GH014033, *GH014034",,,*GH014032,"*GH014029, *GH014030, *GH014031, *GH014033, *GH014034","*GH014029, *GH014030, *GH014031, *GH014032, *GH014033, *GH014034",,6,False
|
||||
7,2200,0.36,60,,,,*GH014038,"*GH014035, *GH014036, *GH014037, *GH014039, *GH014040","*GH014035, *GH014038","*GH014037, *GH014039, *GH014040",,*GH014036,"*GH014036, *GH014037, *GH014039, *GH014040",*GH014036,6,False
|
||||
7,2200,0.36,45,*GH014043,,,,"*GH014041, *GH014042, *GH014044, *GH014045, *GH014046","*GH014042, *GH014044",*GH014046,"*GH014041, *GH014045",,"*GH014041, *GH014045, *GH014046",,6,False
|
||||
7,2200,0.22,45,,,,,"*GH014047, *GH014048, *GH014050, *GH014051",,,"*GH014048, *GH014049","*GH014047, *GH014050, *GH014051","*GH014047, *GH014048, *GH014049, *GH014050, *GH014051",,5,True
|
||||
7,2200,0.29,30,,,,,"*GH014052, *GH014053, *GH014054, *GH014055, *GH014056, *GH014057",,"*GH014052, *GH014054, *GH014056",*GH014057,"*GH014053, *GH014055","*GH014052, *GH014053, *GH014054, *GH014055, *GH014056, *GH014057",,6,False
|
||||
7,2200,0.22,30,,,,,"*GH014058, *GH014059, *GH014060, *GH014061, *GH014062, *GH014063",,,*GH014062,"*GH014058, *GH014059, *GH014060, *GH014061, *GH014063","*GH014058, *GH014059, *GH014060, *GH014061, *GH014062, *GH014063",*GH014058,6,False
|
||||
7,2200,0.29,45,,,,,"*GH014064, *GH014065, *GH014066, *GH014067, *GH014068, *GH014069",,"*GH014064, *GH014065","*GH014067, *GH014068, *GH014069",*GH014066,"*GH014064, *GH014065, *GH014066, *GH014068, *GH014069",,6,False
|
||||
7,2200,0.29,60,,,,,"*GH014070, *GH014071, *GH014072, *GH014073, *GH014074, *GH014075",,*GH014070,"*GH014071, *GH014072, *GH014073","*GH014074, *GH014075","*GH014070, *GH014071, *GH014072, *GH014073, *GH014074, *GH014075",*GH014075,6,False
|
||||
7,2200,0.22,45,,,,,"*GH014076, *GH014077, *GH014078, *GH014079, *GH014080, *GH014081",,,*GH014078,"*GH014076, *GH014077, *GH014079, *GH014080, *GH014081","*GH014076, *GH014077, *GH014078, *GH014079, *GH014080, *GH014081",,6,False
|
||||
7,2200,0.36,60,"*GH014083, *GH014084",,,*GH014087,"*GH014082, *GH014085, *GH014086","*GH014082, *GH014085, *GH014087",*GH014086,,,*GH014086,,6,False
|
||||
7,2200,0.22,60,,,,,"*GH014088, *GH014089, *GH014090, *GH014091, *GH014092, *GH014093",,,*GH014093,"*GH014088, *GH014089, *GH014090, *GH014091, *GH014092","*GH014088, *GH014089, *GH014090, *GH014091, *GH014092, *GH014093",,6,False
|
||||
7,2200,0.22,30,,,,,"*GH014094, *GH014095, *GH014096, *GH014097, *GH014098, *GH014099",,,"*GH014094, *GH014098","*GH014095, *GH014096, *GH014097, *GH014099","*GH014094, *GH014095, *GH014096, *GH014097, *GH014098, *GH014099",,6,False
|
||||
7,2200,0.36,45,,,,"*GH014101, *GH014103","*GH014100, *GH014102, *GH014104, *GH014105","*GH014100, *GH014101, *GH014105","*GH014102, *GH014104",*GH014103,,"*GH014103, *GH014104",,6,False
|
||||
7,2200,0.29,45,,,,,"*GH014106, *GH014107, *GH014108, *GH014109, *GH014110, *GH014111",,,"*GH014107, *GH014108, *GH014109, *GH014110, *GH014111",*GH014106,"*GH014106, *GH014107, *GH014108, *GH014110, *GH014111",*GH014106,6,False
|
||||
7,2200,0.36,30,,,,,"*GH014112, *GH014113, *GH014114, *GH014115, *GH014116, *GH014117",*GH014112,"*GH014113, *GH014115, *GH014116",,"*GH014114, *GH014117","*GH014113, *GH014114, *GH014116, *GH014117","*GH014114, *GH014117",6,False
|
||||
7,2200,0.29,60,,,,,"*GH014118, *GH014119, *GH014120, *GH014121, *GH014122, *GH014123",,"*GH014122, *GH014123","*GH014119, *GH014121","*GH014118, *GH014120","*GH014118, *GH014120, *GH014121, *GH014122, *GH014123",,6,False
|
||||
7,2200,0.29,30,,,,,"*GH014124, *GH014125, *GH014125, *GH014126, *GH014127, *GH014128, *GH014129",*GH014124,"*GH014125, *GH014125, *GH014126, *GH014128",*GH014127,*GH014129,"*GH014124, *GH014125, *GH014126, *GH014127, *GH014128, *GH014129",,6,False
|
||||
9,1800,0.29,60,,,,GH013648,"GH013644, GH013645, GH013646, GH013647, GH013649",,"GH013647, GH013648, GH013649","GH013644, GH013645, GH013646",,"GH013644, GH013645, GH013646, GH013647, GH013649",,6,False
|
||||
9,1800,0.22,45,,,,GH013655,"GH013650, GH013651, GH013653, GH013654, GH013656",,,"GH013653, GH013654","GH013650, GH013651, GH013655, GH01366","GH013650, GH013651, GH013653, GH013654, GH013655, GH013656",GH013655,7,False
|
||||
9,1800,0.36,30,GH013660,,,"GH013657, GH013658, GH013661",GH013659,"GH013657, GH013658, GH013661",GH013659,,,,,5,True
|
||||
9,1800,0.36,60,"GH013663, GH013664, GH013665, GH013666",,,,*GH013662,,,,*GH013662,*GH013662,*GH013662,5,True
|
||||
9,1800,0.22,30,,,GH013668,,"GH013667, GH013669, GH013670, GH013671, GH013672","GH013667, GH013668, GH013670","GH013669, GH013671, GH013672",,,"GH013667, GH013669, GH013671, GH013672",,6,False
|
||||
9,1800,0.29,45,"GH013675, GH013676, GH013677",,GH013678,,"GH013673, GH013674","GH013673, GH013674, GH013678",,,,,,6,False
|
||||
9,1800,0.29,30,GH013683,,GH013679,"GH013682, GH013684","GH013680, GH013681","GH013679, GH013682, GH013684",GH013680,,GH013681,"GH013680, GH013681",,6,False
|
||||
9,1800,0.36,45,"GH013685, GH013688, GH013689, GH013690",,,,"GH013686, GH013687",GH013686,,,GH013687,GH013687,GH013687,6,False
|
||||
9,1800,0.22,60,GH013693,,,"GH013692, GH013694, GH013695","GH013691, GH013696",GH013692,"GH013694, GH013695, GH013696",GH013691,,"GH013691, GH013694, GH013695, GH013696",,6,False
|
||||
9,1800,0.22,30,,,,"GH013698, GH013700","GH013697, GH013699, GH013701, GH013702","GH013700, GH013701, GH013702","GH013698, GH013699",,GH013697,"GH013697, GH013698, GH013699",GH013697,6,False
|
||||
9,1800,0.29,60,"GH013706, GH013708",GH013707,,,"GH013703, GH013704, GH013705","GH013704, GH013707",GH013705,,GH013703,"GH013703, GH013704, GH013705",GH013703,6,False
|
||||
9,1800,0.29,45,"GH013710, GH013711",GH013714,,GH013712,"GH013709, GH013713","GH013709, GH013712, GH013714",,GH013713,,GH013713,,6,False
|
||||
9,1800,0.36,45,"GH013719, GH013720",GH013715,,GH013718,"GH013716, GH013717","GH013715, GH013716, GH013717",GH013718,,,GH013718,,6,False
|
||||
9,1800,0.29,30,"GH013721, GH013724, GH013726",,,GH013722,"GH013723, GH013725","GH013723, GH013725",GH013722,,,GH013722,,6,False
|
||||
9,1800,0.22,45,"GH013727, GH013732",,GH013731,,"GH013728, GH013729, GH013730",,GH013730,"GH013728, GH013729",GH013731,"GH013728, GH013729",,6,False
|
||||
9,1800,0.36,30,"GH013734, GH013735, GH013737",,,GH013736,"GH013733, GH013738",GH013733,GH013736,GH013738,,GH013738,,6,False
|
||||
9,1800,0.22,60,GH013744,,,GH013743,"GH013739, GH013740, GH013741, GH013742",,"GH013742, GH013743","GH013739, GH013740, GH013741",,"GH013739, GH013740, GH013742",,6,False
|
||||
9,1800,0.36,60,"*GH013747, *GH013749",,,,"*GH013746, *GH013748","*GH013746, *GH013748",,,,,,4,True
|
||||
9,1800,0.22,60,,,,,"*GH013750, *GH013751, *GH013752, *GH013753, *GH013754, *GH013755","*GH013751, *GH013752",*GH013750,"*GH013753, *GH013754, *GH013755",,"*GH013750, *GH013752, *GH013753, *GH013754, *GH013755",,6,False
|
||||
9,1800,0.36,45,"*GH013757, *GH013758",,,*GH013760,"*GH013756, *GH013759, *GH013761","*GH013759, *GH013760",*GH013756,,*GH013761,*GH013761,*GH013761,6,False
|
||||
9,1800,0.29,45,"*GH013762, *GH013764, *GH013766",,*GH013767,,"*GH013763, *GH013765","*GH013763, *GH013765, *GH013767",,,,,,6,False
|
||||
9,1800,0.29,30,"*GH013770, *GH013773",,,*GH013768,"*GH013769, *GH013771, *GH013772","*GH013768, *GH013769, *GH013772",,,*GH013771,*GH013771,*GH013771,6,False
|
||||
9,1800,0.36,60,"*GH013786, *GH013787, *GH013790",,,,"*GH013788, *GH013789, *GH013791",*GH013791,*GH013789,,*GH013788,*GH013788,*GH013788,6,False
|
||||
9,1800,0.22,30,,,,*GH013781,"*GH013780, *GH013782, *GH013783, *GH013784, *GH013785","*GH013781, *GH013785",*GH013783,*GH013780,"*GH013782, *GH013784","*GH013780, *GH013782, *GH013783, *GH013784",,6,False
|
||||
9,1800,0.29,60,*GH013792,,,"*GH013793, *GH013795, *GH013797","*GH013794, *GH013796","*GH013793, *GH013794, *GH013795, *GH013796, *GH013797",,,,,,6,False
|
||||
9,1800,0.22,45,"*GH013798, *GH013799, *GH013803",,,,"*GH013800, *GH013801, *GH013802","*GH013800, *GH013801",,,*GH013802,*GH013802,*GH013802,6,False
|
||||
9,1800,0.36,45,*GH013807,,,*GH013808,"*GH013804, *GH013805, *GH013806, *GH013809","*GH013808, *GH013809",,,"*GH013804, *GH013805, *GH013806","*GH013804, *GH013805, *GH013806",*GH013804,6,False
|
||||
9,2000,0.29,60,,,,*GH013189,"GH013185, *GH013186, *GH013187, *GH013188, *GH013190","*GH013188, *GH013190","*GH013187, *GH013189",GH013185,*GH013186,"GH013185, *GH013186, *GH013187, *GH013188, *GH013189",,6,False
|
||||
9,2000,0.22,45,,,,GH013153,"GH013148, GH013149, GH013150, GH013151, GH013152",,GH013151,"GH013148, GH013149, GH013152","GH013150, GH013153","GH013148, GH013149, GH013150, GH013152, GH013153",,6,False
|
||||
9,2000,0.36,30,"*GH013193, *GH013196",,,"*GH013191, *GH013194","*GH013192, *GH013195","*GH013191, *GH013194",,*GH013192,,*GH013192,,6,False
|
||||
9,2000,0.36,60,*GH013198,,,*GH013199,"*GH013197, *GH013200, GH013201, *GH013202",GH013201,"*GH013200, *GH013202",,"*GH013197, *GH013199","*GH013199, *GH013200, *GH013202",*GH013197,6,False
|
||||
9,2000,0.22,30,,GH013170,,,"GH013167, GH013168, GH013169, GH013171, GH013172",,,"GH013167, GH013170, GH013171, GH013172","GH013168, GH013169","GH013167, GH013168, GH013169, GH013171, GH013172",,6,False
|
||||
9,2000,0.29,45,,,,*GH013206,"*GH013203, *GH013204, *GH013205, *GH013207, *GH013208",*GH013206,"*GH013204, *GH013205, *GH013207",*GH013203,*GH013208,"*GH013203, *GH013204, *GH013205, *GH013206, *GH013207, *GH013208",,6,False
|
||||
9,2000,0.29,30,,,,,"*GH013209, *GH013210, *GH013211, *GH013212, *GH013213, *GH013214",*GH013210,*GH013214,"*GH013209, *GH013211, *GH013212, *GH013213",,"*GH013209, *GH013211, *GH013212, *GH013213",,6,False
|
||||
9,2000,0.36,45,"*GH013217, *GH013220",,,*GH013218,"*GH013215, *GH013216, *GH013219","*GH013218, *GH013219",*GH013216,,*GH013215,*GH013215,,6,False
|
||||
9,2000,0.22,60,,,,,"GH013130, GH013131, GH013132, GH013133, GH013134, GH013135",,,"GH013131, GH013132, GH013133","GH013130, GH013134, GH013135","GH013130, GH013131, GH013132, GH013133, GH013134, GH013135",,6,False
|
||||
9,2000,0.22,30,,,,,"GH013173, GH013174, , GH013175, GH013176, GH013177, GH013178",,,"GH013173, GH013174, GH013175, GH013177, GH013178",GH013176,"GH013174, GH013175, GH013176, GH013177, GH013178",,6,False
|
||||
9,2000,0.29,60,,,,,"*GH013221, *GH013222, *GH013223, *GH013224, *GH013225, *GH013226",,,"*GH013221, *GH013222, *GH013223, *GH013224, *GH013225, *GH013226",,"*GH013221, *GH013222, *GH013223, *GH013224, *GH013225, *GH013226",,6,False
|
||||
9,2000,0.29,45,,,,GH013227,"GH013228, GH013229, GH013230, GH013231, GH013232",GH013227,"GH013228, GH013229, GH013231, GH013232",GH013230,,"GH013228, GH013229, GH013230, GH013231, GH013232",,6,False
|
||||
9,2000,0.36,45,"GH013235, GH013237",,,GH013238,"GH013233, GH013234, GH013236","GH013236, GH013238",,"GH013233, GH013234",,GH013234,,6,False
|
||||
9,2000,0.29,30,,,,GH013243,"GH013239, GH013240, GH013241, GH013242, GH013244",GH013243,GH013239,"GH013242, GH013244","GH013240, GH013241","GH013239, GH013240, GH013241, GH013242, GH013244",,6,False
|
||||
9,2000,0.22,45,,,,,"*GH013154, *GH013155, GH013156, GH013157, GH013158, GH013159",,,"*GH013155, GH013157, GH013159","*GH013154, GH013156, GH013158","*GH013154, *GH013155, GH013156, GH013157, GH013158, GH013159",,6,False
|
||||
9,2000,0.36,30,GH013250,,,GH013248,"GH013245, GH013246, GH013247, GH013249","GH013246, GH013247, GH013248, GH013249",,,GH013245,"GH013245, GH013249",,6,False
|
||||
9,2000,0.22,60,,,,,"GH013136, GH013137, GH013138, GH013139, GH013140, GH013141",,,"GH013136, GH013137, GH013139","GH013138, GH013140, GH013141","GH013136, GH013137, GH013138, GH013139, GH013140, GH013141",,6,False
|
||||
9,2000,0.36,60,GH013251,,,"GH013252, GH013255","GH013253, GH013254, GH013256","GH013252, GH013253, GH013254, GH013255, GH013256",,,,,,6,False
|
||||
9,2000,0.22,60,GH013147,,,,"GH013142, GH013143, GH013144, GH013145, GH013146",,GH013144,"GH013142, GH013143, GH013146",GH013145,"GH013142, GH013143, GH013145, GH013146",,6,False
|
||||
9,2000,0.36,45,GH013260,,,"GH013257, GH013258, GH013261","GH013259, GH013262","GH013257, GH013258, GH013259, GH013261, GH013262",,,,,,6,False
|
||||
9,2000,0.29,45,,,,GH013266,"GH013263, GH013264, GH013265, GH013267, GH013268",GH013266,"GH013264, GH013267","GH013263, GH013265",GH013268,"GH013263, GH013264, GH013265, GH013266, GH013267, GH013268",,6,False
|
||||
9,2000,0.29,30,,GH013269,GH013270,"GH013271, GH013272, GH013273",GH013274,GH013269,"GH013270, GH013273","GH013271, GH013272, GH013274",,"GH013271, GH013272, GH013273, GH013274",,6,False
|
||||
9,2000,0.36,60,GH013276,,,"GH013275, GH013278","GH013277, GH013279, GH013280","GH013275, GH013277, GH013280",GH013278,GH013279,,GH013279,,6,False
|
||||
9,2000,0.22,30,,,,,"GH013179, GH013180, GH013181, GH013182, GH013183, GH013184",,"GH013179, GH013180",GH013184,"GH013181, GH013182, GH013183","GH013181, GH013182, GH013183, GH013184",,6,False
|
||||
9,2000,0.29,60,GH013284,,,GH013285,"GH013281, GH013282, GH013283, GH013286",,"GH013283, GH013285","GH013281, GH013282, GH013286",,"GH013281, GH013282, GH013283, GH013285, GH013286",,6,False
|
||||
9,2000,0.22,45,,,GH013162,,"GH013160, GH013161, GH013163, GH013164, GH013165",,,"GH013160, GH013163","GH013161, GH013162, GH013164, GH013165","GH013160, GH013161, GH013163, GH013164, GH013165",,6,False
|
||||
9,2000,0.36,45,"GH013287, GH013288, GH013289, GH013292",,,,"GH013290, GH013291",GH013291,GH013290,,,GH013290,,6,False
|
||||
9,2200,0.29,60,,,,*GH014297,"*GH014298, *GH014299, *GH014300, *GH014301, *GH014302",*GH014297,*GH014302,"*GH014300, *GH014301","*GH014298, *GH014299","*GH014297, *GH014298, *GH014299, *GH014300, *GH014301, *GH014302",,6,False
|
||||
9,2200,0.22,45,,,,,"*GH014304, *GH014305, *GH014306, *GH014307, *GH014308, *GH014309",,,"*GH014304, *GH014305","*GH014306, *GH014307, *GH014308, *GH014309","*GH014304, *GH014305, *GH014306, *GH014307, *GH014308, *GH014309",*GH014308,6,False
|
||||
9,2200,0.36,30,,,,"*GH014314, *GH014315","*GH014310, *GH014311, *GH014312, *GH014313",*GH014314,"*GH014310, *GH014311, *GH014313, *GH014315",,*GH014312,"*GH014310, *GH014311, *GH014312, *GH014313, *GH014315",*GH014312,6,False
|
||||
9,2200,0.36,60,*GH014321,,,*GH014316,"*GH014317, *GH014318, *GH014319, *GH014320",*GH014317,"*GH014316, *GH014318","*GH014319, *GH014320",,"*GH014318, *GH014319",,6,False
|
||||
9,2200,0.22,30,,,,,"*GH014322, *GH014323, *GH014324, *GH014325, *GH014326, *GH014327",,,*GH014322,"*GH014323, *GH014324, *GH014325, *GH014326, *GH014327","*GH014322, *GH014323, *GH014324, *GH014325, *GH014326, *GH014327",,6,False
|
||||
9,2200,0.29,45,,,,"*GH014329, *GH014331","*GH014328, *GH014330, *GH014332, *GH014333",*GH014329,"*GH014331, *GH014332","*GH014328, *GH014330, *GH014333",,"*GH014328, *GH014330, *GH014331, *GH014332, *GH014333",,6,False
|
||||
9,2200,0.29,30,,,,,"*GH014334, *GH014335, *GH014336, *GH014337, *GH014339, *GH014340",,*GH014340,"*GH014334, *GH014336","*GH014335, *GH014337, *GH014339","*GH014334, *GH014335, *GH014336, *GH014337, *GH014339, *GH014340",,6,False
|
||||
9,2200,0.36,45,,,,"*GH014341, *GH014344, *GH014345","*GH014342, *GH014343, *GH014346","*GH014341, *GH014344, *GH014345",,*GH014343,"*GH014342, *GH014346","*GH014342, *GH014343, *GH014346",,6,False
|
||||
9,2200,0.22,60,,,,,"*GH014347, *GH014348, *GH014349, *GH014350, *GH014351, *GH014352",,,"*GH014349, *GH014350","*GH014347, *GH014348, *GH014351, *GH014352","*GH014347, *GH014348, *GH014349, *GH014350, *GH014351, *GH014352",,6,False
|
||||
9,2200,0.22,30,,,,,"*GH014353, *GH014354, *GH014355, *GH014356, *GH014357, *GH014358",,*GH014358,*GH014353,"*GH014354, *GH014355, *GH014356, *GH014357","*GH014353, *GH014354, *GH014355, *GH014356, *GH014357, *GH014358",,6,False
|
||||
9,2200,0.29,60,,,,,"*GH014359, *GH014360, *GH014361, *GH014362, *GH014363, *GH014364",,"*GH014361, *GH014363","*GH014360, *GH014362, *GH014364",*GH014359,"*GH014359, *GH014360, *GH014361, *GH014362, *GH014363, *GH014364",,6,False
|
||||
9,2200,0.29,45,,,,,"*GH014365, *GH014366, *GH014367, *GH014368, *GH014370",,"*GH014368, *GH014370","*GH014365, *GH014366, *GH014367",,"*GH014365, *GH014366, *GH014367, *GH014368, *GH014370",*GH014369,6,False
|
||||
9,2200,0.36,45,"*GH014374, *GH014375",,,*GH014372,"*GH014371, *GH014373","*GH014371, *GH014372, *GH014373, *GH014376",,,,,,6,False
|
||||
9,2200,0.29,30,,,,,"*GH014377, *GH014378, *GH014379, *GH014380, *GH014381, *GH014382",,,"*GH014379, *GH014380, *GH014381, *GH014382","*GH014377, *GH014378","*GH014377, *GH014378, *GH014379, *GH014380, *GH014381, *GH014382",,6,False
|
||||
9,2200,0.22,45,,,,,"*GH014383, *GH014384, *GH014385, *GH014386, *GH014387, *GH014388",,,,"*GH014383, *GH014384, *GH014385, *GH014386, *GH014387, *GH014388","*GH014383, *GH014384, *GH014385, *GH014386, *GH014387, *GH014388",*GH014385,6,False
|
||||
9,2200,0.36,30,,,,"*GH014391, *GH014392, *GH014393","*GH014389, *GH014390, *GH014394","*GH014392, *GH014393","*GH014389, *GH014390, *GH014391",,,"*GH014390, *GH014394",*GH014394,6,False
|
||||
9,2200,0.22,60,,,,,"*GH014395, *GH014396, *GH014397, *GH014398, *GH014399, *GH014400",,,*GH014395,"*GH014396, *GH014397, *GH014398, *GH014399, *GH014400","*GH014395, *GH014396, *GH014397, *GH014398, *GH014399, *GH014400",*GH014397,6,False
|
||||
9,2200,0.36,60,,,,,"*GH014401, *GH014402, *GH014403, *GH014404, *GH014405, *GH014406",*GH014403,"*GH014401, *GH014404, *GH014405, *GH014406",,*GH014402,"*GH014402, *GH014404, *GH014405",,6,False
|
||||
9,2200,0.22,60,,,,,"*GH014407, *GH014408, *GH014409, *GH014410, *GH014411, *GH014412",,,,"*GH014407, *GH014408, *GH014409, *GH014410, *GH014411, *GH014412","*GH014407, *GH014408, *GH014409, *GH014410, *GH014411, *GH014412",,6,False
|
||||
9,2200,0.36,45,"*GH014413, *GH014415, *GH014416, *GH014417, *GH014418",,,,*GH014414,*GH014414,,,,,,6,False
|
||||
9,2200,0.29,45,"*GH014419, *GH014420, *GH014423",,*GH014421,*GH014422,*GH014424,*GH014421,,,"*GH014422, *GH014424","*GH014422, *GH014424","*GH014422, *GH014424",6,False
|
||||
9,2200,0.29,30,"*GH014425, *GH014427, *GH014428, *GH014430",,,,"*GH014426, *GH014429",*GH014429,,,*GH014426,*GH014426,*GH014426,6,False
|
||||
9,2200,0.36,60,*GH014435,,,*GH014431,"*GH014432, *GH014433, *GH014434, *GH014436","*GH014431, *GH014433, *GH014436",,"*GH014432, *GH014434",,*GH014432,*GH014432,6,False
|
||||
9,2200,0.22,30,,*GH014437,,,"*GH014438, *GH014439, *GH014440, *GH014441, *GH014442",*GH014437,,"*GH014440, *GH014441, *GH014442",*GH014438,"*GH014437, *GH014438, *GH014439, *GH014440, *GH014441, *GH014442",,6,False
|
||||
9,2200,0.29,60,,,,,"*GH014443, *GH014444, *GH014445, *GH014446, *GH014447, *GH014448",,"*GH014443, *GH014445","*GH014446, *GH014447, *GH014448",*GH014444,"*GH014443, *GH014444, *GH014445, *GH014446, *GH014447, *GH014448",,6,False
|
||||
9,2200,0.22,45,,,,,"*GH014450, *GH014451, *GH014452, *GH014453, *GH014454, *GH014455",,,*GH014451,"*GH014450, *GH014452, *GH014453, *GH014454, *GH014455","*GH014450, *GH014451, *GH014452, *GH014453, *GH014454, *GH014455",,6,False
|
||||
9,2200,0.36,45,*GH014460,,,*GH014457,"*GH014456, *GH014458, *GH014459, *GH014461","*GH014457, *GH014458, *GH014461",,,"*GH014456, *GH014459","*GH014456, *GH014459",*GH014459,6,False
|
|
|
@ -0,0 +1,332 @@
|
|||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 10,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Initial DataFrame shape: (243, 15)\n",
|
||||
"Renamed columns: ['moisture', 'spring_stiffness', 'displacement_screw_setting', 'motor_speed', 'untouched', 'longitudinal_less_than_25%', 'longitudinal_between_25_50%', 'longitudinal_between_50_75%', 'longitudinal_more_than_75%', 'circumferential_less_than_25%', 'circumferential_between_25_50%', 'circumferential_between_50_75%', 'circumferential_more_than_75%', 'open_crack', 'crushed']\n",
|
||||
"Missing values in factor columns:\n",
|
||||
"moisture 0\n",
|
||||
"spring_stiffness 0\n",
|
||||
"displacement_screw_setting 0\n",
|
||||
"motor_speed 0\n",
|
||||
"dtype: int64\n",
|
||||
"Crack columns identified: ['untouched', 'longitudinal_less_than_25%', 'longitudinal_between_25_50%', 'longitudinal_between_50_75%', 'longitudinal_more_than_75%', 'circumferential_less_than_25%', 'circumferential_between_25_50%', 'circumferential_between_50_75%', 'circumferential_more_than_75%', 'open_crack', 'crushed']\n",
|
||||
" video_count missing_videos_flag\n",
|
||||
"0 6 False\n",
|
||||
"1 6 False\n",
|
||||
"2 6 False\n",
|
||||
"3 6 False\n",
|
||||
"4 6 False\n",
|
||||
"5 5 True\n",
|
||||
"6 6 False\n",
|
||||
"7 6 False\n",
|
||||
"8 6 False\n",
|
||||
"9 6 False\n",
|
||||
"Number of runs with fewer than 6 videos: 16\n",
|
||||
"Motor Speed values: [60 45 30]\n",
|
||||
"Moisture values: [5 7 9]\n",
|
||||
"Displacement Screw Setting values: [0.29 0.22 0.36]\n",
|
||||
"Spring Stiffness values: [1800 2000 2200]\n",
|
||||
"Long-format DataFrame shape: (3769, 6)\n",
|
||||
"Raw aggregated columns: ['video_id', 'moisture', 'spring_stiffness', 'displacement_screw_setting', 'motor_speed', 'circumferential_between_25_50%', 'circumferential_between_50_75%', 'circumferential_less_than_25%', 'circumferential_more_than_75%', 'crushed', 'longitudinal_between_25_50%', 'longitudinal_between_50_75%', 'longitudinal_less_than_25%', 'longitudinal_more_than_75%', 'open_crack', 'untouched']\n",
|
||||
"After reassigning factor names:\n",
|
||||
"['video_id', 'moisture', 'spring_stiffness', 'displacement_screw_setting', 'motor_speed', 'circumferential_between_25_50%', 'circumferential_between_50_75%', 'circumferential_less_than_25%', 'circumferential_more_than_75%', 'crushed', 'longitudinal_between_25_50%', 'longitudinal_between_50_75%', 'longitudinal_less_than_25%', 'longitudinal_more_than_75%', 'open_crack', 'untouched']\n",
|
||||
"Crack outcome columns (raw): Index(['circumferential_between_25_50%', 'circumferential_between_50_75%',\n",
|
||||
" 'circumferential_less_than_25%', 'circumferential_more_than_75%',\n",
|
||||
" 'crushed', 'longitudinal_between_25_50%', 'longitudinal_between_50_75%',\n",
|
||||
" 'longitudinal_less_than_25%', 'longitudinal_more_than_75%',\n",
|
||||
" 'open_crack', 'untouched'],\n",
|
||||
" dtype='object')\n",
|
||||
"Final aggregated binary column names:\n",
|
||||
"['video_id', 'moisture', 'spring_stiffness', 'displacement_screw_setting', 'motor_speed', 'C_2', 'C_3', 'C_1', 'C_4', 'X', 'L_2', 'L_3', 'L_1', 'L_4', 'O', 'U']\n",
|
||||
"Final renamed aggregated binary dataset saved as 'meyer_aggregated_binary_renamed.csv'.\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# %% [markdown]\n",
|
||||
"# # Data Cleaning, Reshaping, and Aggregation for Meyer Pecan Cracking Dataset\n",
|
||||
"#\n",
|
||||
"# This notebook loads the raw dataset (\"meyer.csv\"), standardizes column names and data types,\n",
|
||||
"# extracts video IDs from crack outcome columns, reshapes the data into long format, and then aggregates\n",
|
||||
"# the data into a binary indicator format (one row per video) with concise crack outcome column names.\n",
|
||||
"#\n",
|
||||
"# The final crack outcome columns will be renamed as follows:\n",
|
||||
"# U : untouched\n",
|
||||
"# L_1 : longitudinal_less_than_25%\n",
|
||||
"# L_2 : longitudinal_between_25_50%\n",
|
||||
"# L_3 : longitudinal_between_50_75%\n",
|
||||
"# L_4 : longitudinal_more_than_75%\n",
|
||||
"# C_1 : circumferential_less_than_25%\n",
|
||||
"# C_2 : circumferential_between_25_50%\n",
|
||||
"# C_3 : circumferential_between_50_75%\n",
|
||||
"# C_4 : circumferential_more_than_75%\n",
|
||||
"# O : open_crack\n",
|
||||
"# X : crushed\n",
|
||||
"#\n",
|
||||
"# Only one final CSV file (\"meyer_aggregated_binary_renamed.csv\") is saved.\n",
|
||||
"\n",
|
||||
"# %% [markdown]\n",
|
||||
"# ## Cell 1: Import Libraries and Load Data\n",
|
||||
"\n",
|
||||
"# %%\n",
|
||||
"import pandas as pd\n",
|
||||
"import numpy as np\n",
|
||||
"\n",
|
||||
"# Load the raw dataset\n",
|
||||
"df = pd.read_csv(\"meyer.csv\")\n",
|
||||
"print(\"Initial DataFrame shape:\", df.shape)\n",
|
||||
"df.head()\n",
|
||||
"\n",
|
||||
"# %% [markdown]\n",
|
||||
"# ## Cell 2: Standardize Column Names\n",
|
||||
"# Convert all column names to lower case, strip extra spaces, and replace spaces/hyphens with underscores.\n",
|
||||
"\n",
|
||||
"# %%\n",
|
||||
"df.columns = df.columns.str.lower().str.strip().str.replace(\" \", \"_\").str.replace(\"-\", \"_\")\n",
|
||||
"print(\"Renamed columns:\", df.columns.tolist())\n",
|
||||
"\n",
|
||||
"# %% [markdown]\n",
|
||||
"# ## Cell 3: Ensure Factor Columns are Numeric\n",
|
||||
"# Convert factor columns to numeric and verify missing values.\n",
|
||||
"\n",
|
||||
"# %%\n",
|
||||
"factor_cols = [\"moisture\", \"spring_stiffness\", \"displacement_screw_setting\", \"motor_speed\"]\n",
|
||||
"for col in factor_cols:\n",
|
||||
" df[col] = pd.to_numeric(df[col], errors=\"coerce\")\n",
|
||||
"print(\"Missing values in factor columns:\")\n",
|
||||
"print(df[factor_cols].isnull().sum())\n",
|
||||
"\n",
|
||||
"# %% [markdown]\n",
|
||||
"# ## Cell 4: Identify Crack Outcome Columns\n",
|
||||
"# All columns not in factor_cols are considered crack outcome columns.\n",
|
||||
"\n",
|
||||
"# %%\n",
|
||||
"crack_cols = [c for c in df.columns if c not in factor_cols]\n",
|
||||
"print(\"Crack columns identified:\", crack_cols)\n",
|
||||
"\n",
|
||||
"# %% [markdown]\n",
|
||||
"# ## Cell 5: Define Helper Functions for Video Extraction\n",
|
||||
"# Define functions to extract video IDs from a cell and count unique video IDs across the crack outcome columns.\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"# %%\n",
|
||||
"def extract_video_ids(cell_value: str) -> list:\n",
|
||||
" \"\"\"\n",
|
||||
" Extracts and cleans video IDs from a cell value.\n",
|
||||
" Splits the string by commas, strips whitespace, and returns a list of non-empty IDs.\n",
|
||||
" \"\"\"\n",
|
||||
" if pd.isna(cell_value):\n",
|
||||
" return []\n",
|
||||
" return [x.strip() for x in cell_value.split(\",\") if x.strip() != \"\"]\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"def count_unique_videos(row: pd.Series) -> int:\n",
|
||||
" \"\"\"\n",
|
||||
" Counts the number of unique video IDs across all crack outcome columns in a row.\n",
|
||||
" \"\"\"\n",
|
||||
" all_ids = []\n",
|
||||
" for col in crack_cols:\n",
|
||||
" all_ids.extend(extract_video_ids(row[col]))\n",
|
||||
" return len(set(all_ids))\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"# %% [markdown]\n",
|
||||
"# ## Cell 6: Compute Video Count and Flag Incomplete Runs\n",
|
||||
"# Add 'video_count' and 'missing_videos_flag' columns.\n",
|
||||
"\n",
|
||||
"# %%\n",
|
||||
"df[\"video_count\"] = df.apply(count_unique_videos, axis=1)\n",
|
||||
"df[\"missing_videos_flag\"] = df[\"video_count\"] < 6\n",
|
||||
"print(df[[\"video_count\", \"missing_videos_flag\"]].head(10))\n",
|
||||
"print(f\"Number of runs with fewer than 6 videos: {df['missing_videos_flag'].sum()}\")\n",
|
||||
"\n",
|
||||
"# %% [markdown]\n",
|
||||
"# ## Cell 7: Data Integrity Checks for Factor Columns\n",
|
||||
"# Verify that factor values are within expected ranges.\n",
|
||||
"\n",
|
||||
"# %%\n",
|
||||
"print(\"Motor Speed values:\", df[\"motor_speed\"].unique()) # Expected: [30, 45, 60]\n",
|
||||
"print(\"Moisture values:\", df[\"moisture\"].unique()) # Expected: [5, 7, 9]\n",
|
||||
"print(\"Displacement Screw Setting values:\", df[\"displacement_screw_setting\"].unique()) # Expected: [0.22, 0.29, 0.36]\n",
|
||||
"print(\"Spring Stiffness values:\", df[\"spring_stiffness\"].unique()) # Expected: [1800, 2000, 2200]\n",
|
||||
"\n",
|
||||
"# %% [markdown]\n",
|
||||
"# ## Cell 8: Reshape Data to Long Format\n",
|
||||
"# Convert the wide-format dataset to long format so that each row corresponds to one video (pecan) with its crack type.\n",
|
||||
"\n",
|
||||
"# %%\n",
|
||||
"records = []\n",
|
||||
"for idx, row in df.iterrows():\n",
|
||||
" # Extract factor values for this run.\n",
|
||||
" factors = {col: row[col] for col in factor_cols}\n",
|
||||
" # For each crack outcome column, extract video IDs.\n",
|
||||
" for col in crack_cols:\n",
|
||||
" video_ids = extract_video_ids(row[col])\n",
|
||||
" for vid in video_ids:\n",
|
||||
" record = factors.copy()\n",
|
||||
" record[\"video_id\"] = vid\n",
|
||||
" record[\"crack_type\"] = col # Use the original crack category name.\n",
|
||||
" records.append(record)\n",
|
||||
"\n",
|
||||
"df_long = pd.DataFrame(records)\n",
|
||||
"print(\"Long-format DataFrame shape:\", df_long.shape)\n",
|
||||
"df_long.head(10)\n",
|
||||
"\n",
|
||||
"# %% [markdown]\n",
|
||||
"# ## Cell 9: Aggregate Long-Format Data into a Binary Format\n",
|
||||
"# Aggregate the long-format data so that each unique video_id (with its factors) has binary indicators\n",
|
||||
"# for each crack outcome. We use the pivot method with the 'values' parameter to preserve full column names.\n",
|
||||
"\n",
|
||||
"# %%\n",
|
||||
"df_aggregated = df_long.pivot_table(index=[\"video_id\", \"moisture\", \"spring_stiffness\", \"displacement_screw_setting\", \"motor_speed\"], columns=\"crack_type\", values=\"crack_type\", aggfunc=lambda x: 1, fill_value=0).reset_index() # using the crack_type values themselves\n",
|
||||
"\n",
|
||||
"# Check the raw column names after pivoting\n",
|
||||
"print(\"Raw aggregated columns:\", df_aggregated.columns.tolist())\n",
|
||||
"\n",
|
||||
"# %% [markdown]\n",
|
||||
"# ## Cell 10: Reassign Factor Column Names and Rename Crack Outcome Columns\n",
|
||||
"# We explicitly set the first 5 columns to our expected factor names, then rename the remaining crack columns\n",
|
||||
"# using the following concise mapping:\n",
|
||||
"#\n",
|
||||
"# U : untouched\n",
|
||||
"# L_1 : longitudinal_less_than_25%\n",
|
||||
"# L_2 : longitudinal_between_25_50%\n",
|
||||
"# L_3 : longitudinal_between_50_75%\n",
|
||||
"# L_4 : longitudinal_more_than_75%\n",
|
||||
"# C_1 : circumferential_less_than_25%\n",
|
||||
"# C_2 : circumferential_between_25_50%\n",
|
||||
"# C_3 : circumferential_between_50_75%\n",
|
||||
"# C_4 : circumferential_more_than_75%\n",
|
||||
"# O : open_crack\n",
|
||||
"# X : crushed\n",
|
||||
"\n",
|
||||
"# %%\n",
|
||||
"# Expected factor column names in order:\n",
|
||||
"expected_factor_cols = [\"video_id\", \"moisture\", \"spring_stiffness\", \"displacement_screw_setting\", \"motor_speed\"]\n",
|
||||
"\n",
|
||||
"# Get current column names from df_aggregated\n",
|
||||
"raw_cols = df_aggregated.columns.tolist()\n",
|
||||
"\n",
|
||||
"# Replace the first 5 columns with expected factor names:\n",
|
||||
"for i in range(len(expected_factor_cols)):\n",
|
||||
" raw_cols[i] = expected_factor_cols[i]\n",
|
||||
"df_aggregated.columns = raw_cols\n",
|
||||
"\n",
|
||||
"print(\"After reassigning factor names:\")\n",
|
||||
"print(df_aggregated.columns.tolist())\n",
|
||||
"\n",
|
||||
"# The remaining columns are the crack outcome columns (should be full names from df_long)\n",
|
||||
"print(\"Crack outcome columns (raw):\", df_aggregated.columns[5:])\n",
|
||||
"\n",
|
||||
"# Define the renaming dictionary for crack outcomes:\n",
|
||||
"rename_dict = {\"untouched\": \"U\", \"longitudinal_less_than_25%\": \"L_1\", \"longitudinal_between_25_50%\": \"L_2\", \"longitudinal_between_50_75%\": \"L_3\", \"longitudinal_more_than_75%\": \"L_4\", \"circumferential_less_than_25%\": \"C_1\", \"circumferential_between_25_50%\": \"C_2\", \"circumferential_between_50_75%\": \"C_3\", \"circumferential_more_than_75%\": \"C_4\", \"open_crack\": \"O\", \"crushed\": \"X\"}\n",
|
||||
"\n",
|
||||
"# Rename crack outcome columns from index 5 onward using our mapping:\n",
|
||||
"new_crack_cols = [rename_dict.get(col, col) for col in df_aggregated.columns[5:]]\n",
|
||||
"df_aggregated.columns = expected_factor_cols + new_crack_cols\n",
|
||||
"\n",
|
||||
"print(\"Final aggregated binary column names:\")\n",
|
||||
"print(df_aggregated.columns.tolist())\n",
|
||||
"\n",
|
||||
"# %% [markdown]\n",
|
||||
"# ## Cell 11: Save the Final Aggregated Binary Dataset\n",
|
||||
"# Save the final aggregated binary dataset as a single CSV file.\n",
|
||||
"\n",
|
||||
"# %%\n",
|
||||
"df_aggregated.to_csv(\"meyer_aggregated_binary_renamed.csv\", index=False)\n",
|
||||
"print(\"Final renamed aggregated binary dataset saved as 'meyer_aggregated_binary_renamed.csv'.\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 11,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Reordered aggregated binary columns:\n",
|
||||
"['video_id', 'moisture', 'spring_stiffness', 'displacement_screw_setting', 'motor_speed', 'U', 'L_1', 'L_2', 'L_3', 'L_4', 'C_1', 'C_2', 'C_3', 'C_4', 'O', 'X']\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Desired order for crack outcome columns:\n",
|
||||
"desired_order = [\"U\", \"L_1\", \"L_2\", \"L_3\", \"L_4\", \"C_1\", \"C_2\", \"C_3\", \"C_4\", \"O\", \"X\"]\n",
|
||||
"\n",
|
||||
"# The first 5 columns (factors) remain unchanged\n",
|
||||
"factor_order = [\"video_id\", \"moisture\", \"spring_stiffness\", \"displacement_screw_setting\", \"motor_speed\"]\n",
|
||||
"\n",
|
||||
"# For the remaining columns, re-order based on desired_order.\n",
|
||||
"# Create a list of current crack outcome columns from df_aggregated (assuming factor columns are the first 5).\n",
|
||||
"current_crack_cols = df_aggregated.columns.tolist()[5:]\n",
|
||||
"\n",
|
||||
"# Now, force the order as desired. This assumes each desired name is present.\n",
|
||||
"new_crack_cols = [col for col in desired_order if col in current_crack_cols]\n",
|
||||
"\n",
|
||||
"# Combine the factor columns with the newly ordered crack outcome columns.\n",
|
||||
"new_column_order = factor_order + new_crack_cols\n",
|
||||
"\n",
|
||||
"# Reorder the DataFrame's columns.\n",
|
||||
"df_aggregated = df_aggregated[new_column_order]\n",
|
||||
"print(\"Reordered aggregated binary columns:\")\n",
|
||||
"print(df_aggregated.columns.tolist())"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 12,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Final renamed aggregated binary dataset saved as 'meyer_aggregated_binary_renamed.csv'.\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"df_aggregated.to_csv(\"meyer_aggregated_binary_renamed.csv\", index=False)\n",
|
||||
"print(\"Final renamed aggregated binary dataset saved as 'meyer_aggregated_binary_renamed.csv'.\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "pecan",
|
||||
"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.12.4"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 2
|
||||
}
|
Loading…
Reference in New Issue