PandasはDataFrameに値を割り当てます
2614 ワード
Pandas設定値関連コード データの作成
私たちは自分のニーズに応じてpandasでデータの中の値を変更したり、空の列を追加したり、数値のある列を追加したりすることができます.
まず6 X 4のマトリックスデータを確立した.
位置に応じてlocとilocを設定
インデックスまたはラベルを使用して、値を変更する必要がある場所を決定できます.
条件に基づいて設定
現在の判断条件がそうである場合、
行または列で設定
列全体をバッチ処理し、「F」の列を加え、
データの追加
上記の方法でも
特定の列の特定の値の変更
私たちは自分のニーズに応じてpandasでデータの中の値を変更したり、空の列を追加したり、数値のある列を追加したりすることができます.
まず6 X 4のマトリックスデータを確立した.
dates = pd.date_range('20130101', periods=6)
df = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates, columns=['A','B','C','D'])
"""
A B C D
2013-01-01 0 1 2 3
2013-01-02 4 5 6 7
2013-01-03 8 9 10 11
2013-01-04 12 13 14 15
2013-01-05 16 17 18 19
2013-01-06 20 21 22 23
"""
位置に応じてlocとilocを設定
インデックスまたはラベルを使用して、値を変更する必要がある場所を決定できます.
df.iloc[2,2] = 1111
df.loc['20130101','B'] = 2222
"""
A B C D
2013-01-01 0 2222 2 3
2013-01-02 4 5 6 7
2013-01-03 8 9 1111 11
2013-01-04 12 13 14 15
2013-01-05 16 17 18 19
2013-01-06 20 21 22 23
"""
条件に基づいて設定
現在の判断条件がそうである場合、
B
の数を変更したいが、変更位置はA
に依存する.A
が4より大きい位置について.変更B
の対応する位置の数は0である.df.B[df.A>4] = 0
"""
A B C D
2013-01-01 0 2222 2 3
2013-01-02 4 5 6 7
2013-01-03 8 0 1111 11
2013-01-04 12 0 14 15
2013-01-05 16 0 18 19
2013-01-06 20 0 22 23
"""
行または列で設定
列全体をバッチ処理し、「F」の列を加え、
F
列をNaN
列に変更すると、以下のようになります.df['F'] = np.nan
"""
A B C D F
2013-01-01 0 2222 2 3 NaN
2013-01-02 4 5 6 7 NaN
2013-01-03 8 0 1111 11 NaN
2013-01-04 12 0 14 15 NaN
2013-01-05 16 0 18 19 NaN
2013-01-06 20 0 22 23 NaN
"""
データの追加
上記の方法でも
Series
シーケンスを加えることができます(ただし、長さは揃えなければなりません).df['E'] = pd.Series([1,2,3,4,5,6], index=pd.date_range('20130101',periods=6))
"""
A B C D F E
2013-01-01 0 2222 2 3 NaN 1
2013-01-02 4 5 6 7 NaN 2
2013-01-03 8 0 1111 11 NaN 3
2013-01-04 12 0 14 15 NaN 4
2013-01-05 16 0 18 19 NaN 5
2013-01-06 20 0 22 23 NaN 6
"""
特定の列の特定の値の変更
a = [['a','1.2','4.2'],['a','70','0.03'],['b','5','0']]
df = pd.DataFrame(a,columns=['col1','col2','col3'])
df.col1[df.col1 =='a'] = 'm'
print(df)