2017-11-03 9 views
-4

次のpandasデータフレーム列名があります。私は名前を単純化しなければならない。私は最初の 'と2番目の'の間にあるサブストリングを分割する必要があります。助けが必要!最初の 'と2番目の間にある文字列からサブ文字列を分割する必要があります - Python

for i in range(len(df.columns)): 
     print(df.columns[i]) 

    ('date', '') 
    ('A Index', 'PX_LAST') 
    ('B Index', 'PX_LAST') 
    ('C Index', 'PX_LAST') 

予想される出力は:コメントの

str(df.columns[i])[1:].split(',')[0] 

ありがとう:

'date' 
'A Index' 
'B Index' 
'C Index' 

このコードは、問題を解決しました。

+0

あなたがこれまでに試してみましたか? – cosinepenguin

+0

?あなたのデータにはリテラルの ''はありません。与えられたテキストの一重引用符は構文だけです。 –

+0

'str [0] [0]'はタプル、文字列のペアのリストですか? https://www.tutorialsp.com/jp/python/python_tuples.htm – corn3lius

答えて

0

strがリストの場合、またはタプル(はstrがPythonの型であるため、リストstrを決して呼び出すことはありません)。あなたはタプルのリストを持っています。このように

str[1][0] 

はあなたのタプルの最初の項目を取得します。

example = (('a', 'b'), ('c')) 
>>> example[0] 
('a', 'b') 
>>> example[0][0] 
'a' 
+0

これは実際には、パンダのデータフレーム列名です。 ('print(df.columns [i])' –

+0

パンダとデータを使って作業していると言えるでしょう。この場合のフレーム数。 [これをチェックし、あなたの質問を改訂](https://stackoverflow.com/help/mcve) – ivan7707

0

まあ私の考えは次のとおりです。

for i in range(5): 
    x = str[i][0] 
    print "'"+x+"'" 
関連する問題