前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pandas入门学习

Pandas入门学习

作者头像
sgr997
发布2022-11-10 14:00:11
2860
发布2022-11-10 14:00:11
举报
文章被收录于专栏:博客分享

DataFrame

代码语言:javascript
复制
# 显示所有列
pd.set_option('display.max_columns', None)
# 显示所有行
pd.set_option('display.max_rows', None)

创建

  • 构造方法介绍
代码语言:javascript
复制
'''
    data:一组数据(ndarray、series, map, lists, dict 等类型)。
    index:索引值,或者可以称为行标签。
    columns:列标签,默认为 RangeIndex (0, 1, 2, …, n) 。
    dtype:数据类型。
    copy:拷贝数据,默认为 False
'''
pandas.DataFrame(data, index, columns, dtype, copy)

通过列表创建

代码语言:javascript
复制
data = [[1, 2, 3], [4, 5, 6]]
index = ['a', 'b']
columns = ['A', 'B', 'C']
df = pd.DataFrame(data=data, index=index, columns=columns)
print(df.head())

使用ndarrays创建

代码语言:javascript
复制
data = {'Site':['Google', 'Runoob', 'Wiki'], 'Age':[10, 12, 13]}
df = pd.DataFrame(data)
print (df.head())

使用字典创建

代码语言:javascript
复制
data = [{'a': 1, 'b': 2},{'a': 5, 'b': 10, 'c': 20}]
df = pd.DataFrame(data)
print (df.head())

代码语言:javascript
复制
# 新增一行
  df.loc['h'] = [10, 11, 12]
  print(df.head())
  
  # 新增一个df
  data = [[1, 2, 3], [4, 5, 6]]
  index = ['j', 'k']
  columns = ['A', 'B', 'C']
  df2 = pd.DataFrame(data=data, index=index, columns=columns)
  print(df2.head())
  
  # 连接两个df
  # axis表示轴,0表示纵向,1表示横向
  pd3 = pd.concat([df, df2], axis=0)
  print(pd3.head())
  
  # 新增一列
  df2['Tang'] = [12, 13]
  print(df2.head())
  
  # 连接两个df
  data = [[1, 2], [4, 5]]
  index = ['j', 'k']
  columns = ['D', 'E']
  df4 = pd.DataFrame(data=data, index=index, columns=columns)
  print(df4.head())
  # axis表示轴,0表示纵向,1表示横向
  df5 = pd.concat([df2, df4], axis=1)
  print(df5.head())

代码语言:javascript
复制
# axios=0表示删除行
# inplace为False表示不在原df上删除,此时df6没有j这一行,df5还有
df6 = df5.drop(['j'], axis=0, inplace=False)
print(df6.head())

# inplace为True表示在原df上删除
df5.drop(['j'], axis=0, inplace=True)
print(df5.head())

# axios=1表示删除列
df5.drop(['A'], axis=1, inplace=True)
print(df5.head())

代码语言:javascript
复制
# 修改某个位置的值
df.loc['a']['A'] = 150
print(df.head())

# 修改索引
df.index = ['f', 'g']
df.set_index = ['f', 'g']
print(df.head())
# 重置索引
df.reset_index(inplace=True)
# 修改某个值
for index, row in df.iterrows():
    if arr.__contains__(row['name']):
        row['age'] = '1'
        df.iloc[index] = row

使用单个label值查询

使用值列表查询

  • df.loc[[2009,2010,2011,2012],[‘市’,’产量单位’]]

使用数值区间范围查询

使用条件表达式查询 df.loc[df[‘年份’]>2015]

调用函数查询

代码语言:javascript
复制
# lambda
df[lambda df: (df['年份']>2015) & (df['年份']<2018)]
# 自定义函数
def query_def(df):
      return (df['年份']>2015) & (df['年份']<2018)
df.loc[query_def]

注意 ● 以上查询方法,既适用于行,也适用于列 ● 查询结果会降维,dataFrame>Series>值类型

代码语言:javascript
复制
# 查询某一列
print(df['A'])

# 查询某一行, df.iloc[行位置,列位置]
print(df.iloc[0])
print(df.loc['a'])

# 查询具体某个位置
print(df.iloc[0, 1])
print(df.loc['a']['A'])

# 查询某列包含关键词的数据,多个关键词使用|分隔
print(df.loc[df['列名'].str.contains('关键词')])
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • DataFrame
    • 创建
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档