フォルダーに次のような値を持つ複数のCSVファイルがあります。
GroupID.csvはファイル名です。このようなファイルは複数ありますが、値の範囲は同じXMLファイルで定義されています。私はそれらをグループ化しようとしています
更新1:ボブハフナーのコメントに基づいて、私はこれをやった
import pandas as pd
import glob path =r'path/to/files'
allFiles = glob.glob(path + "/*.csv")
frame = pd.DataFrame()
list_ = []
for file_ in allFiles:
df = pd.read_csv(file_,index_col=None, header=None)
df['file'] = os.path.basename('path/to/files/'+file_)
list_.append(df)
frame = pd.concat(list_)
print frame
このようなものを取得するには:
XMLファイルのビンに基づいて値をグループ化する必要があります。私は本当に助けに感謝します。
シリーズをバケット化するには、次のように pd.cut()
function を使用する必要があります。
df['bin'] = pd.cut(df['1'], [0, 50, 100,200])
0 1 file bin
0 person1 24 age.csv (0, 50]
1 person2 17 age.csv (0, 50]
2 person3 98 age.csv (50, 100]
3 person4 6 age.csv (0, 50]
4 person2 166 Height.csv (100, 200]
5 person3 125 Height.csv (100, 200]
6 person5 172 Height.csv (100, 200]
自分でビンに名前を付けたい場合は、labels=
引数、次のように:
df['bin'] = pd.cut(df['1'], [0, 50, 100,200], labels=['0-50', '50-100', '100-200'])
0 1 file bin
0 person1 24 age.csv 0-50
1 person2 17 age.csv 0-50
2 person3 98 age.csv 50-100
3 person4 6 age.csv 0-50
4 person2 166 Height.csv 100-200
5 person3 125 Height.csv 100-200
6 person5 172 Height.csv 100-200