6-对象操作--数据分析

举报
brucexiaogui 发表于 2021/12/30 00:52:59 2021/12/30
【摘要】 Series对象的增删改查 In [1]: ...

Series对象的增删改查

In [1]:
import pandas as pd
In [2]:
 
          
data = [10,11,12]
index = ['a','b','c']
s = pd.Series(data=data,index=index)
s
Out[2]:
a    10
b    11
c    12
dtype: int64

通过boolean类型来显示符合条件的数据

  • 查询数据
In [3]:
mask = [True,False,True]
s[mask]
Out[3]:
a    10
c    12
dtype: int64
In [4]:
 
          
s['b']
Out[4]:
11
In [5]:
 
          
s.loc['b']
Out[5]:
11
In [6]:
 
          
s.iloc[1]
Out[6]:
11

修改Series的数据

In [7]:
 
          
s1 = s.copy()
s1['a']=101
s1
Out[7]:
a    101
b     11
c     12
dtype: int64

replace():修改数据方法。to_replace:将要修改的数据 value:修改的新值 inplace:是否替换原有数据

In [12]:
 
          
s1.replace(to_replace=101,value=102,inplace=False)
Out[12]:
a    102
b     11
c     12
dtype: int64

修改索引

In [15]:
s1.index
Out[15]:
Index(['a', 'b', 'c'], dtype='object')
In [18]:
s1.index=['c','b','a']
s1
Out[18]:
c    102
b     11
a     12
dtype: int64
In [24]:
s1.rename(index={'a':'A'},inplace=True)
s1
Out[24]:
c    102
b     11
A     12
dtype: int64

增加数据

In [27]:
s2 = pd.Series([100,500],index=['f','g'])
s2
Out[27]:
f    100
g    500
dtype: int64

append()方法添加元素

In [28]:
s1.append(s2)
Out[28]:
c    102
b     11
A     12
f    100
g    500
dtype: int64
In [31]:
s3 = s1.append(s2)
s3['v']=50
s3
Out[31]:
c    102
b     11
A     12
v     50
f    100
g    500
dtype: int64

ignore_index: 是否生保留原来的索引 False:保留原来索引 True:生成新的索引

In [32]:
 
          
s1.append(s2,ignore_index=True)
Out[32]:
0    102
1     11
2     12
3     50
4    100
5    500
dtype: int64

删除操作

In [36]:
s1
Out[36]:
c    102
b     11
v     50
dtype: int64
In [38]:
del s1['v']
s1
Out[38]:
c    102
b     11
dtype: int64
In [40]:
s1.drop(['c','b'],inplace=True)
s1
Out[40]:
Series([], dtype: int64)

DataFrame对象的增删改查

In [42]:
data = [[1,2,3],[4,5,6]]
index=['a','b']
columns=['A','B','C']
df = pd.DataFrame(data=data,index=index,columns=columns)
df
Out[42]:
  A B C
a 1 2 3
b 4 5 6

查询数据

In [43]:
 
          
df['A']
Out[43]:
a    1
b    4
Name: A, dtype: int64
In [44]:
 
          
df.iloc[0]
Out[44]:
A    1
B    2
C    3
Name: a, dtype: int64
In [45]:
 
          
df.loc['a']
Out[45]:
A    1
B    2
C    3
Name: a, dtype: int64

修改数据

In [46]:
 
          
df.loc['a']['A']=150
df
Out[46]:
  A B C
a 150 2 3
b 4 5 6
In [47]:
 
          
df.index=['f','g']
df
Out[47]:
  A B C
f 150 2 3
g 4 5 6

增加数据

In [48]:
 
          
df.loc['c']=[1,2,3]
df
Out[48]:
  A B C
f 150 2 3
g 4 5 6
c 1 2 3
In [49]:
data = [[1,2,3],[4,5,6]]
index=['p','l']
columns=['A','B','C']
df2 = pd.DataFrame(data=data,index=index,columns=columns)
df2
Out[49]:
  A B C
p 1 2 3
l 4 5 6
In [50]:
 
          
### concat() 将两个DataFrame数据连接为一个新的数据
In [52]:
df3 = pd.concat([df,df2])
df3
Out[52]:
  A B C
f 150 2 3
g 4 5 6
c 1 2 3
p 1 2 3
l 4 5 6

增加一个列

In [53]:
 
          
df2['Tage']=[10,11]
df2
Out[53]:
  A B C Tage
p 1 2 3 10
l 4 5 6 11
In [58]:
df4 = pd.DataFrame([[10,11],[12,13]],index=['p','l'],columns=['D','E'])
df4
Out[58]:
  D E
p 10 11
l 12 13
In [59]:
df5 = pd.concat([df2,df4],axis=1)
df5
Out[59]:
  A B C Tage D E
p 1 2 3 10 10 11
l 4 5 6 11 12 13

删除操作

  • 按行删除
In [61]:
df5.drop(['p'],axis=0,inplace=True)
df5
Out[61]:
  A B C Tage D E
l 4 5 6 11 12 13
  • 按列删除
In [63]:
del df5['Tage']
df5
Out[63]:
  A B C D E
l 4 5 6 12 13
In [65]:
df5.drop(['A','B','C'],axis=1,inplace=True)
df5
Out[65]:
  D E
l 12 13

文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。

原文链接:brucelong.blog.csdn.net/article/details/80720997

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。