1

DataFrame私はこのように設定されたパンダを持っています:

 Type     time
 A        0
 A        1
 A        2
 B        0
 B        1
 B        2

次のような構造のリスト (またはシリーズ) を生成する必要があります。

["A.1-A.0", "A.2-A.0", "B.1"-"B.0", "B.2"-"B.0"]

groupbyまたは同様の関数でそのようなリスト (またはシリーズ) を生成できますか?

4

1 に答える 1

2
import pandas as pd
from StringIO import StringIO

data =  StringIO("""Type     time
A        0
A        1
A        2
B        10
B        11
B        12""")
df = pd.read_csv(data, delim_whitespace=True, dtype="O")

def set_first(x):
    x["ptime"] = x.time.values[0]
    x = x[1:]
    r = x.Type + "." + x.time + "-" + x.Type + "." + x.ptime
    return r

print df.groupby(df.Type, group_keys=False).apply(set_first)

出力:

1      A.1-A.0
2      A.2-A.0
4    B.11-B.10
5    B.12-B.10
于 2013-03-19T10:41:43.813 に答える