如何給Python里DataFrame對象中的元素賦值?
首先非常感謝在這里能為你解答這個問題,讓我?guī)ьI(lǐng)你們一起走進(jìn)這個問題,現(xiàn)在讓我們一起探討一下。
1. 根據(jù)列名選擇:>>> df['A']
選擇df中名稱為'A'的列,該操作產(chǎn)生一個Series,等同于df.A。
2. 根據(jù)行號選擇:>>> df[0 : 3]
選擇df中第0到第2行,該操作產(chǎn)生一個DataFrame。
3. 根據(jù)索引選擇:>>> df['20130102' : '20130104']
選擇索引為'20130102'、'20130103'、'20130104'的行,這些索引對應(yīng)的類型是DatetimeIndex。
4. 根據(jù)索引、列名共同選擇
一個索引的情況
多個索引的情況
>>> df.loc[index1 : index2] # index1和index2的類型要與df的索引類型一致。>>> df.loc[index1 : index2, 'A']>>> df.loc[index1 : index2, ['A','B']]
5. 根據(jù)位置選擇
選擇某一行
>>> df.iloc[1] # 選擇第1行,注:df從第0行開始編號
選擇某一列
>>> df.iloc[:, 1] # 選擇第1列,注:df從第0列開始編號
選擇某行、某列的那個元素
>>> df.iloc[1, 1] # 選擇第1行第1列的那個元素
>>> df.iat[1, 1] # 同上,但速度更快
選擇某些行、某些列
>>> df.iloc[3:5, 0:2]
>>> df.iloc[[1,2,4], [0, 2]]
>>> df.iloc[1:3, :]
>>> df.iloc[:, 1:3]
6. 根據(jù)條件選擇
>>> df[df.A > 0] # 返回df中'A'列大于0的行
>>> df[df > 0] # 返回一個與df相同大小的df2,保留原df中大于0的元素,并將原df中小于等于0的元素置為NaN
賦值
>>> df['A'] = s1 # s1是一個Series
>>> df.at[index, ‘A’] = 0
>>> df.iat[0, 1] = 0
>>> df.loc[:, 'A'] = np.array([5] * len(df))
>>> df[df > 0] = df2 # 將df中大于0的元素置為df2中對應(yīng)的元素
在以上的分享關(guān)于這個問題的解答都是個人的意見與建議,我希望我分享的這個問題的解答能夠幫助到大家。
在這里同時也希望大家能夠喜歡我的分享,大家如果有更好的關(guān)于這個問題的解答,還望分享評論出來共同討論這話題。
我最后在這里,祝大家每天開開心心工作快快樂樂生活,健康生活每一天,家和萬事興,年年發(fā)大財,生意興隆,謝謝!