如何給Python里DataFrame對象中的元素賦值?
首先非常感謝在這里能為你解答這個問題,讓我帶領你們一起走進這個問題,現在讓我們一起探討一下。
1. 根據列名選擇:>>> df['A']
選擇df中名稱為'A'的列,該操作產生一個Series,等同于df.A。
2. 根據行號選擇:>>> df[0 : 3]
選擇df中第0到第2行,該操作產生一個DataFrame。
3. 根據索引選擇:>>> df['20130102' : '20130104']
選擇索引為'20130102'、'20130103'、'20130104'的行,這些索引對應的類型是DatetimeIndex。
4. 根據索引、列名共同選擇
一個索引的情況
多個索引的情況
>>> df.loc[index1 : index2] # index1和index2的類型要與df的索引類型一致。>>> df.loc[index1 : index2, 'A']>>> df.loc[index1 : index2, ['A','B']]
5. 根據位置選擇
選擇某一行
>>> 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. 根據條件選擇
>>> 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中對應的元素
在以上的分享關于這個問題的解答都是個人的意見與建議,我希望我分享的這個問題的解答能夠幫助到大家。
在這里同時也希望大家能夠喜歡我的分享,大家如果有更好的關于這個問題的解答,還望分享評論出來共同討論這話題。
我最后在這里,祝大家每天開開心心工作快快樂樂生活,健康生活每一天,家和萬事興,年年發大財,生意興隆,謝謝!