全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
7082 5
2020-08-21

上一节学习了Dataframe数据的显示,本节学习Dataframe数据的更新、插入和删除。仍以这个数据表为例:

       dataframe用例

一、更新(选择相应的数据à赋值à更新原表数据)

1、frame['height'] = frame['height'] +0.01   ----给每个人的身高加0.01

2、 frame[1:2] ['name']= '李四方'   ----将第二行的姓名改为‘李四方’;这一方法会有警告,因为该数据进行了2次选择,第一次先选择了行,第二次选择了列,有可能会不成功,最好用下面的方法;frame.loc[1,'name'] = '李四方'   ---一步到位选择数据


3、带条件的修改:frame.loc[frame['height']>1.80,'age'] = frame.loc[frame['height']>1.80,'age']+1---将所有身高大于1.80的记录的年龄都增加一岁

二、插入

1、插入行:先将一行数据赋给frame1,再将frame1追加到原frame后


data1 = { 'ID':['008'],
         
'name':['方圆'],
         
'gender':[False],
         
'age':[21],
         
'heitht':[1.69]
        }
frame1=pd.DataFrame(data1)
frame.append(frame1)     ----
注意这一方法会将frame1的索引号0一并追加过来


frame.append(frame1,ignore_index=True)  ---这一方法会忽略原来的索引,其索引会自动增加


2、插入列:


1)在最后插入列:frame['class']=['c1','c2','a1','b2','c1','c2','c2']


2)在中间插入列:frame.insert(0,'class',['c1','c2','a1','b2','c1','c2','c2'])---表示在第1列的前面插入class列  


3)带条件的选择与插入frame= frame.append(frame.loc[frame['age']>17])   ---将frame表中所有年龄大于17的记录找到,并再次插入到frame列表的最后

三、删除

用到一个知识点:frame内置两个属性,frame.index和frame.columns,这两个属性会返回frame的索引和列名的信息。

1、 行删除

方法1:frame= frame.drop(1)   ---删除索引为1的那一行frame= frame.drop([1,2])等价于frame= frame.drop(index=[1,2])--–删除多行(索引1、2两行)


方法2:frame= frame.drop(1,axis=0)  --- axis=0指定要删除的是行

方法3:frame= frame.drop(index=(frame.loc[(frame['gender']==True)].index))---删除符合条件的记录(先找到符合条件的frame: frame.loc[(frame['gender']==True)],然后再取index

2、 列删除

方法1:frame= frame.drop(columns = 'name')

方法2:frame= frame.drop('name',axis=1)   ---axis=1指定要删除的是列




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2020-10-23 14:54:39
不知为什么,写好的文档,提交后有一些回车就不见了,使得整篇文章都挤到了一个段落中,多次编辑仍不能完全避免,所以有的地方增加了两个回车,看上去仍不算好看,但层次清晰了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-8-17 22:53:03
将两个dataframe表连起来,使用concat
表3 = pd.concat([表1 , 表2], ignore_index=True)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-8-20 15:51:17
<!-- markdown css tag --><div class="pinggu_markdown">
<div class="pinggu_markdown__html"><h2 id="如果你用markdown发帖的话,将会有不一样的体验哟。看一下下面的代码段吧。">如果你用<code>markdown</code>发帖的话,将会有不一样的体验哟。看一下下面的代码段吧。</h2>
<pre class=" language-python"><code class="prism  language-python"><span class="token keyword">def</span> <span class="token function">get_abs</span><span class="token punctuation">(</span>x<span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">if</span> <span class="token operator">not</span> <span class="token builtin">isinstance</span><span class="token punctuation">(</span>x<span class="token punctuation">,</span> <span class="token punctuation">(</span><span class="token builtin">int</span><span class="token punctuation">,</span> <span class="token builtin">float</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
        <span class="token keyword">raise</span> TypeError<span class="token punctuation">(</span><span class="token string">'bad operand type'</span><span class="token punctuation">)</span>
    <span class="token keyword">if</span> x <span class="token operator">&gt;=</span> <span class="token number">&#48;</span><span class="token punctuation">:</span>
        <span class="token keyword">return</span> x
    <span class="token keyword">else</span><span class="token punctuation">:</span>
        <span class="token keyword">return</span> <span class="token operator">-</span>x
</code></pre>
</div>
</div>
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-8-20 15:51:28
<!-- markdown css tag --><div class="pinggu_markdown">
<div class="pinggu_markdown__html"><h2 id="如果你用markdown发帖的话,将会有不一样的体验哟。看一下下面的代码段吧。">如果你用<code>markdown</code>发帖的话,将会有不一样的体验哟。看一下下面的代码段吧。</h2>
<pre class=" language-python"><code class="prism  language-python"><span class="token keyword">def</span> <span class="token function">get_abs</span><span class="token punctuation">(</span>x<span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">if</span> <span class="token operator">not</span> <span class="token builtin">isinstance</span><span class="token punctuation">(</span>x<span class="token punctuation">,</span> <span class="token punctuation">(</span><span class="token builtin">int</span><span class="token punctuation">,</span> <span class="token builtin">float</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
        <span class="token keyword">raise</span> TypeError<span class="token punctuation">(</span><span class="token string">'bad operand type'</span><span class="token punctuation">)</span>
    <span class="token keyword">if</span> x <span class="token operator">&gt;=</span> <span class="token number">&#48;</span><span class="token punctuation">:</span>
        <span class="token keyword">return</span> x
    <span class="token keyword">else</span><span class="token punctuation">:</span>
        <span class="token keyword">return</span> <span class="token operator">-</span>x
</code></pre>
</div>
</div>
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-4-14 16:12:19
前2行转数字类型后,相减,覆盖第一行

   data = {'name':['张三','李四','王五','赵六','田七','陈八','刘九'],
            'age': [20, 18, 19, 18, 13, 17, 19],
            'height': [1.88, 1.68, 1.78, 1.59, 1.70, 1.60, 1.71]
            }
    frame = pd.DataFrame(data)
    dd = frame.iloc[1:4, 1:3].astype('float')
    dd.loc[1] =dd.loc[1]-dd.loc[2]
    print(dd)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群