6

df の 1 つの列がインデックスで、もう 1 つの列がシリーズのデータ​​であるデータフレームからシリーズを作成しています。

これは私のコードです:

miniframe = attendframe[:20]
s = pd.Series(miniframe.yes, index = miniframe.event)
s[:10]

ただし、パーツを含めると、次のindex = miniframe.eventように空のシリーズが得られます。

1159822043    NaN
686467261     NaN
1186208412    NaN
2621578336    NaN
855842686     NaN
2018671985    NaN
488116622     NaN
1273761447    NaN
2688888297    NaN
3870329460    NaN

元のデータフレームは次のようになります。

         event                                                yes  \
0   1159822043  1975964455 252302513 4226086795 3805886383 142...   
1    686467261  2394228942 2686116898 1056558062 3792942231 41...   
2   1186208412                                                NaN   
3   2621578336                                                NaN   
4    855842686  2406118796 3550897984 294255260 1125817077 109...   
5   2018671985                                                NaN   
6    488116622  4145960786 2550625355 2577667841 1575121941 28...   
7   1273761447  2680366192 2151335654 3447231284 3021641283 17...   
8   2688888297  298428624 2292079981 1819927116 1843127538 410...   
9   3870329460                                                NaN   
10  3041357942  4238605842 769099880 4281206081 1756250815 187...   

誰かがこれで私を助けることができる可能性はありますか? 私は一週間それに取り組んできましたが、アイデアがありません!

4

1 に答える 1

1
In [84]: df = DataFrame(dict(event = randint(10,100,(100)), yes = ['foo','bar']*50))

In [85]: df.loc[[2,3,5,10,15],'yes'] = np.nan

In [86]: df.head(10)
Out[86]: 
   event  yes
0     47  foo
1     94  bar
2     71  NaN
3     62  NaN
4     43  foo
5     60  NaN
6     90  foo
7     43  bar
8     15  foo
9     16  bar

In [87]: mini = df[:20]

In [88]: mini
Out[88]: 
    event  yes
0      47  foo
1      94  bar
2      71  NaN
3      62  NaN
4      43  foo
5      60  NaN
6      90  foo
7      43  bar
8      15  foo
9      16  bar
10     26  NaN
11     64  bar
12     82  foo
13     63  bar
14     16  foo
15     78  NaN
16     49  foo
17     32  bar
18     34  foo
19     46  bar

In [89]: Series(mini.yes.values,mini.event).iloc[:10]
Out[89]: 
event
47       foo
94       bar
71       NaN
62       NaN
43       foo
60       NaN
90       foo
43       bar
15       foo
16       bar
dtype: object

これは.ix、 が間違ったことを行う場合の 1 つであることに注意してください。明示的に使用.ilocしてください(上記の私のコメントは無視してください!)

In [92]: df.set_index('event').iloc[:10].loc[:,'yes']
Out[92]: 
event
47       foo
94       bar
71       NaN
62       NaN
43       foo
60       NaN
90       foo
43       bar
15       foo
16       bar
Name: yes, dtype: object
于 2013-07-03T16:39:08.110 に答える