パンダの列の特定の文字列を置き換えようとしていますが、一部の行にはNaN
があります。列はオブジェクトデータ型です。str.replace関数NaNデータを作成する
私は'S'
に置き換えた文字列で'N'
として's'
を持つすべての行に置き換えた文字列に'n'
を持つすべての行をしたいです。言い換えれば、文字列が現れたら大文字にすることを試みています。
ただし、文字列に'n'
または's'
がない行の値がNaN
になっています。 'n'
と's'
を他の値の代わりにNaN
にすることなく、どのように置き換えることができますか?ここで
が私のデータフレームの頭です:
data_frame['column_name'].head(10)
0 1n
1 1n
2 1n
3 1n
4 2n
5 2s
6 3
7 3
8 4s
9 4s
交換した後、文字列'3'
は今NaN
です:
data_frame['column_name'] = data_frame['column_name'].str.replace('n', 'N')
data_frame['column_name'] = data_frame['column_name'].str.replace('s', 'S')
data_frame['column_name'].head(10)
Out[87]:
0 1N
1 1N
2 1N
3 1N
4 2N
5 2S
6 NaN
7 NaN
8 4S
9 4S
Name: NCU, dtype: object
私はより多くの情報を追加することができる場合は私に知らせてください。
がjezraelありがとう、私は変換しなければなりませんでしたstrへのデータ型。そのパンダではしばらくの間、私は 'オブジェクト'のデータ型は同じ種類の文字列だと思った。 –
はい、明らかに文字列です。しかし、必ずしもそうではありません、あなたは[this]をチェックすることができます(http://stackoverflow.com/questions/42672552/pandas-cast-column-to-string-does-not-work/42672574#42672574) – jezrael