22 lines
811 B
Python
22 lines
811 B
Python
|
#!/usr/bin/env python3
|
||
|
|
||
|
import pandas as pd
|
||
|
import os
|
||
|
|
||
|
def main():
|
||
|
dfs = pd.read_csv(os.path.dirname(__file__) + '/metrics/feature_vectors_labeled.csv')
|
||
|
metrics = ['MTH', 'FLD', 'RFC', 'INT', 'SZ', 'CPX', 'EX', 'RET', 'BCM',
|
||
|
'NML', 'WRD', 'DCM']
|
||
|
df = dfs.agg(dict([(m, ['min', 'max', 'mean']) for m in metrics])).reset_index()
|
||
|
df = pd.melt(df, id_vars=['index'], value_vars=metrics, var_name='metric') \
|
||
|
.pivot(index='metric', columns=['index'], values=['value']) \
|
||
|
.reset_index()
|
||
|
df.columns = sorted([c[1] for c in df.columns])
|
||
|
df = df.reindex([df.columns[0]] + list(reversed(sorted(df.columns[1:]))), axis=1)
|
||
|
print(df.to_markdown(index=False))
|
||
|
|
||
|
print()
|
||
|
print(dfs.groupby('buggy').count().loc[:, 'class_name'])
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
main()
|