2017-03-23 13 views
0

データフレーム内の文字列の別の文字の位置を与える次の文字を取得します。私たちが文字列のすべての文字を閲覧したなら、私は次の行に行くべきです。Python:データフレームの文字列の与えられた位置の次の文字を取得する関数

これを行うには、以下の関数を書いています。そのデータフレームのための

def get_char(df, y, z): 
    if z < len(df[0][y])-1: 
     return df[0][y][z+1] 
    elif z == len(df[0][y])-1: 
     if y < len(df[0])-1: 
      return df[0][y+1][0] 

ar = np.array(["aba", "bcb", "zab"]) 
df = pd.DataFrame(ar) 

I

print get_char(df, 1, 2) 

は私にz

print get_char(df, 2, 2) 
を与えた場合

は何も返さないはずです。私の関数ではNoneを返します。

私ははるかに簡単な方法でそれを行うことができます。

私のデータフレームには1つの列しかありません。

+0

「任意のヘルプ」は質問ではありません。 –

+0

'return'ステートメントを値なしで削除することで簡単にすることができます - Python関数は、デフォルトで最後にNoneを返します。しかし、この投稿はhttp://codereview.stackexchange.com/に適しています。 –

+0

ありがとうございました@JohnZwinck私はcodereview.stackexchangeについて知らなかった。 – Amy21

答えて

0
import numpy as np 
import pandas as pd 

ar = np.array(["aba", "bcb", "zab"]) 
df = pd.DataFrame(ar) 

def get_char(df, y, z): 
    a = ''.join(df.iloc[y:y+2,0]) 
    try: 
     return a[z+1] 
    except: 
     return None 

print(get_char(df, 1, 2)) 
# z 
print(get_char(df, 2, 2)) 
# None 
関連する問題