2016-02-22 31 views
7

私はパンダと戦っていますが、今のところ私は失っています。私はこれに似たソーステーブルを持っている:列の文字列の最初の文字を取得

import pandas as pd 

a=pd.Series([123,22,32,453,45,453,56]) 
b=pd.Series([234,4353,355,453,345,453,56]) 
df=pd.concat([a, b], axis=1) 
df.columns=['First', 'Second'] 
私は「最初の」列の値から最初の数字で、このデータフレームに新しい列を追加したい

:「最初の」列から文字列へ a)は変更番号 b)新しく作成された文字列から最初の文字を抽出する c)データフレームの新しい列として保存する結果

これをpandasデータフレームオブジェクトに適用する方法はわかりません。私はそれを手伝ってくれて感謝しています。

+0

astype(int)を呼び出して再びdtypeをキャストすることができますが表示されことができますあなたの希望する出力? – IanS

答えて

14

strにCOLのdtypeをキャストして、あなたはstrを呼び出すベクトル化スライシング実行することができます。あなたがする必要がある場合は

In [29]: 
df['new_col'] = df['First'].astype(str).str[0] 
df 

Out[29]: 
    First Second new_col 
0 123  234  1 
1  22 4353  2 
2  32  355  3 
3 453  453  4 
4  45  345  4 
5 453  453  4 
6  56  56  5 

をコラム

+0

文字列にキャストする大規模配列の場合は最速ではありません:http://stackoverflow.com/a/13547396/5276797 – IanS

+0

@IanS桁の長さが固定されている場合はtrue、ここではfloordivがうまく機能します – EdChum

関連する問題