2017-06-29 13 views
1

に新しいデータフレームを作成し、私は次の形式fg = 2017-20で変数を持っています。それは文字列です。そしてまた、私はデータフレームを持っている:検索欄の値と、それに基づいては、パンダ

flag  № 
2017-18 389 
2017-19 390 
2017-20 391 
2017-21 392 
2017-22 393 
2017-23 394 
... 

私は列"№"に(例では、それは391になります)列"flag"にこの値(fg)を見つけ、適切な値を選択する必要があります。次に、新しいデータフレームを作成します。そこには列"№"もあります。この値をこのデータフレームに追加し、53回繰り返します。結果は次のようになります。

№_new 
    391 
    392 
    393 
    394 
    395 
    ... 
    442 
    443 
    444 

他の問題に基づいて適切なものは見つけられません。誰かに何かアドバイスできますか?

+0

なぜ53回? 'DataFrame'の長さですか? – jezrael

答えて

1

あなたは、1つのアイテムSeriesvaluesによって配列をnumpyのと[0]で最初の値を選択するために、変換によってスカラへの変換、フィルタリングにlocboolean indexingを必要としています。

最終numpy.arangeで新しいDataFrameを作成します。

fg = '2017-20' 
val = df.loc[df['flag'] == fg, '№'].values[0] 
print (val) 
391 

df1 = pd.DataFrame({'№_new':np.arange(val, val+53)}) 
print (df1) 
    №_new 
0  391 
1  392 
2  393 
3  394 
4  395 
5  396 
6  397 
7  398 
8  399 
9  400 
10 401 
11 402 
.. 
.. 
+1

私は、OPの意味は、 'np.arange(val、val + 53)'に似ていると思いますか?それほど確かではありません。 – Zero

+0

@JohnGalt - ありがとう、あなたは正しいです。 – jezrael

関連する問題