私のようなデータフレーム肝炎:私は名前の各ペアの間隔を示し、列をレコード生成したいパンダで区間列を作成するにはどうしたらいいですか?
name1 name2 mounth
A B 01
B C 02
A B 02
A B 04
B C 03
を:
name1 name2 interval
A B [1,2];[4,4]
B C [2,3]
がパンダに上記コラムのような間隔を作成することが可能ですか?
私のようなデータフレーム肝炎:私は名前の各ペアの間隔を示し、列をレコード生成したいパンダで区間列を作成するにはどうしたらいいですか?
name1 name2 mounth
A B 01
B C 02
A B 02
A B 04
B C 03
を:
name1 name2 interval
A B [1,2];[4,4]
B C [2,3]
がパンダに上記コラムのような間隔を作成することが可能ですか?
あなたがこれを必要とする理由を理解するのは難しいです...
from itertools import chain
df.groupby(['name1','name2']).mounth.\
apply(lambda x :x.groupby(x.diff().ne(1).cumsum()).\
apply(lambda y: list(chain.from_iterable([y])) if len(y)>1 else
list(chain.from_iterable([y,y])))).\
groupby(level=['name1','name2']).apply(list)
Out[1305]:
name1 name2
A B [[1, 2], [4, 4]]
B C [[2, 3]]
Name: mounth, dtype: object
これは、2つのデータフレームの間の接続を作成することは困難です。あなたはあなたが望むものを詳しく説明できますか?データフレームにはセミコロンで区切られた値を入れることはできませんが、間隔を文字列として格納することをお勧めします。 – Sebastian
2つのデータフレームからではなく、パンダに間隔の列を作成することが可能かどうかを知りたいのですが、私は1つのデータフレームを持っていて、name1とname2(つまりname1とname2は同じ名前です)、間隔の列は月の間隔を表します。 – sunny