fixed iso to tag as is in the file, added function to print out attributes
This commit is contained in:
parent
05656c85d6
commit
a999da570e
@ -3,31 +3,41 @@ import pandas as pd
|
|||||||
|
|
||||||
file = "ltcc_current.h5"
|
file = "ltcc_current.h5"
|
||||||
|
|
||||||
# Dict to hold DFs 'sex', 'iso' & 'spid'
|
|
||||||
dfs_by_sex_iso_spid = {}
|
def print_attrs(name, obj):
|
||||||
|
print(f"\nAttributes for {name}:")
|
||||||
|
for key, val in obj.attrs.items():
|
||||||
|
print(f" {key}: {val}")
|
||||||
|
|
||||||
|
|
||||||
|
with h5py.File(file, "r") as h5_file:
|
||||||
|
h5_file.visititems(print_attrs)
|
||||||
|
|
||||||
|
# Dict to hold DFs 'sex', 'tag' & 'spid'
|
||||||
|
dfs_by_sex_tag_spid = {}
|
||||||
|
|
||||||
with h5py.File(file, "r") as h5_file:
|
with h5py.File(file, "r") as h5_file:
|
||||||
for eid in h5_file.keys():
|
for eid in h5_file.keys():
|
||||||
attributes = h5_file[eid].attrs
|
attributes = h5_file[eid].attrs
|
||||||
sex = attributes.get("sex")
|
sex = attributes.get("sex")
|
||||||
iso = attributes.get("iso")
|
tag = attributes.get("tag")
|
||||||
spid = attributes.get("spid")
|
spid = attributes.get("spid")
|
||||||
|
|
||||||
# Creates a unique key for dict based on sex, iso & spid
|
# Creates a unique key for dict based on sex, tag & spid
|
||||||
key = f"{sex}_{iso}_{spid}"
|
key = f"{sex}_{tag}_{spid}"
|
||||||
|
|
||||||
if key not in dfs_by_sex_iso_spid:
|
if key not in dfs_by_sex_tag_spid:
|
||||||
dfs_by_sex_iso_spid[key] = pd.DataFrame()
|
dfs_by_sex_tag_spid[key] = pd.DataFrame()
|
||||||
|
|
||||||
row_data = {"experiment_id": eid, "sex": sex, "iso": iso, "spid": spid}
|
row_data = {"experiment_id": eid, "sex": sex, "tag": tag, "spid": spid}
|
||||||
temp_df = pd.DataFrame([row_data])
|
temp_df = pd.DataFrame([row_data])
|
||||||
|
|
||||||
# Append the DF to the appropriate dict entry
|
# Append the DF to the appropriate dict entry
|
||||||
dfs_by_sex_iso_spid[key] = pd.concat(
|
dfs_by_sex_tag_spid[key] = pd.concat(
|
||||||
[dfs_by_sex_iso_spid[key], temp_df], ignore_index=True
|
[dfs_by_sex_tag_spid[key], temp_df], ignore_index=True
|
||||||
)
|
)
|
||||||
|
|
||||||
for key, df in dfs_by_sex_iso_spid.items():
|
for key, df in dfs_by_sex_tag_spid.items():
|
||||||
print(f"DataFrame for {key}:")
|
print(f"DataFrame for {key}:")
|
||||||
print(df)
|
print(df)
|
||||||
print()
|
print()
|
||||||
|
Loading…
Reference in New Issue
Block a user