Pandas 1.2:Pandas基础数据操作

目录

1. 索引操作

2. 赋值操作

3. 排序 


测试数据:test.csv

Pandas 1.2:Pandas基础数据操作_第1张图片 

读取文件并将第一列设为索引:

data = pd.read_csv("F:/test.csv", index_col='Unnamed: 0')

1. 索引操作

        1.1 直接使用行列索引(先列后行)

Pandas 1.2:Pandas基础数据操作_第2张图片

先行后列会报错:data['2022/3/17']['v_ma5'] 或 data[:1, :2]

 

        1.2 结合loc或者iloc使用索引

loc:只能指定行列索引的名字

指定 2022/3/16 到 2022/3/18 的列 ma5的内容:

dd = data.loc['2022/3/16':'2022/3/18', 'ma5']

Pandas 1.2:Pandas基础数据操作_第3张图片

iloc可以通过索引的下标去获取

 获取前3行、前5列的结果:

Pandas 1.2:Pandas基础数据操作_第4张图片

        1.3 使用ix组合索引

获取行第1行到第4行,['ma10', 'ma20', 'v_ma5] 这3列的结果:

Pandas 1.2:Pandas基础数据操作_第5张图片

PS:新版本汇总已经将ix去掉,推荐使用loc和iloc来获取的方式:

data.loc[data.index[0:4], ['ma10', 'ma20', 'v_ma5']]
data.iloc[0:4, data.columns.get_indexer(['ma10', 'ma20', 'v_ma5'])]

 

2. 赋值操作

对DataFrame当中的 ma10 列进行重新赋值为1

# 直接修改原来的值
data['ma10'] = 1
# 或者
data.ma10 = 1

3. 排序 

排序有两种形式,一种对于 索引 进行排序,一种对于 内容 进行排序 

        3.1 DataFrame排序

使用df.sort_values(by=, ascending=) 单个键或者多个键进行排序

参数注释:

  • by:指定排序参考的键
  • ascending:默认升序
  • ascending=False:降序
  • ascending=True:升序(默认)

示例:

# 按 ma10 正序
dd = data.sort_values(by="ma10")
dd = data.sort_values(by="ma10", ascending=True)
# 按 ma10 降序
dd = data.sort_values(by="ma10", ascending=False)

# 按多列排序
dd = data.sort_values(by=['ma5', 'ma10'])

使用df.sort_index给索引进行排序:

# 正序
dd = data.sort_index()
# 降序
dd = data.sort_index(ascending=False)

         3.2 Series排序

series只有一列,所以排序时不需要参数:

# 根据值 正序
dd = data['ma10'].sort_values()
dd = data['ma10'].sort_values(ascending=True)
# 降序
dd = data['ma10'].sort_values(ascending=False)

# 根据索引 正序
dd = data['ma10'].sort_index()
dd = data['ma10'].sort_index(ascending=True)
# 降序
dd = data['ma10'].sort_index(ascending=False)

总结:

  • 1.索引
    • 直接索引:先列后行,需要通过索引的字符串进行获取
    • loc:先行后列,需要通过索引的字符串进行获取
    • iloc:先行后列,通过下标进行索引
    • ix:先行后列,新版Pandas已移除,可以用上面两种方法混合进行索引
  • 2.赋值
    • data['aaa'] = '内容'
    • data.aaa = '内容'
  • 3.排序
    • dataframe
      • 对象.sort_values()
      • 对象.sort_index()
    • series
      • 对象.sort_values()
      • 对象.sort_index()

 

你可能感兴趣的:(Python-数据分析,python,pandas)