pandas入门

  1. from pandas import Series ,DataFrame 引入两个常用的工具数据结构

  2. Series:

    )1.传入列表(自动生成索引,或通过index生成指定索引)

    obj = Series([1 , 4 , 9 , 16])
    print(obj)
    0     1
    1     4
    2     9
    3    16
    dtype: int64
    
    obj = Series([1,4,9,16],index=['一','四','九','十六'])
    print(obj)149
    十六    16
    dtype: int64
    

    )2.传入字典(键为索引,字典值为值)

    obj = Series({'a':'1,2,3','b':'1'})
    print(obj)
    a    1,2,3
    b        1
    dtype: object
    

    DataFrame:

    )1.传入嵌套等长列表的字典(键为列名,字典值为值,自动生成索引,可以通过index指定列名)

    obj = DataFrame({'a':['A','A','A'],'b':['B','B','B'],'c':['C','C','C']})
    print(obj)
       a  b  c
    0  A  B  C
    1  A  B  C
    2  A  B  C
    

    )2.传入包含NumPy数组的字典或直接传入Numpy数组

    obj = DataFrame({'a':np.arange(3),'b':np.arange(3),'c':np.arange(3)})
    print(obj)
       a  b  c
    0  0  0  0
    1  1  1  1
    2  2  2  2
    

    )3.传入嵌套字典的字典(外部键为列名,内部键为索引)

    obj = DataFrame({'a':{'A':'aA','B':'aB','C':'aC'},'b':{'A':'bA','B':'bB','C':'bC'},'c':{'A':'cA','B':'cB','C':'cC'}})
    print(obj)
       a   b   c
    A  aA  bA  cA
    B  aB  bB  cB
    C  aC  bC  cC
    
  3. Series的一些操作

    1.类似于NumPy的操作
    obj = Series([1,4,9,16],index=['一','四','九','十六'])
    print(obj[obj>8])9
    十六    16
    dtype: int64
    
    obj = Series([1,4,9,16],index=['一','四','九','十六'])
    print(obj*8)83272
    十六    128
    dtype: int64
    
    2.用NaN来表示残缺值
    data = ['一','九','四','六']
    obj = Series([1,4,9,16],index=['一','四','九','十六'])
    obj2 = Series(obj,index=data)
    print(obj2)1.09.04.0
    六    NaN
    dtype: float64
        
    3.自动对齐索引
    +: 双方共同的索引的话,值会相加;只有一方有,则会显示NaN
    data = ['一','九','四','六']
    obj = Series([1,4,9,16],index=['一','二','三','四'])
    obj2 = Series([-1,-4,-9,-16],index=['一','二','三','五'])
    print(obj+obj2)0.00.00.0
    五    NaN
    四    NaN
    dtype: float64
    
    4.Series对象和索引的name属性
    data = ['一','九','四','六']
    obj = Series([1,4,9,16],index=['一','二','三','四'])
    obj.name='zxw'
    obj.index.name = 'num'
    print(obj)
    num
    一     14916
    Name: zxw, dtype: int64
    
  4. DataFrame的一些操作

    1.DataFrame有行索引和列索引。
    行索引用columns来指定,列索引用index来指定
    obj = DataFrame(np.arange(16).reshape((4,4)),index=['1','2','3','4'],columns=['一','二','三','四'] )
    print(obj)
        一   二   三   四
    1   0   1   2   3
    2   4   5   6   7
    3   8   9  10  11
    4  12  13  14  15
    
    2.DataFrame可以看成是很多Series组成的,DataFrame可以按字典标记或者属性那样检索为Series
    obj = DataFrame(np.arange(16).reshape((4,4)),index=['1','2','3','4'],columns=['一','二','三','四'] )
        一   二   三   四
    1   0   1   2   3
    2   4   5   6   7
    3   8   9  10  11
    4  12  13  14  15
    
    print(obj['一'])
    1     0
    2     4
    3     8
    4    12
    Name:, dtype: int32
    
    print(obj.)
    1     0
    2     4
    3     8
    4    12
    Name:, dtype: int32
    
    3.loc(按名称选取行),iloc(按序号选取行):选取行
    print(obj.loc['1'])0123
    Name: 1, dtype: int32
            
    4.del:删除列,只能用来删除列!
    del obj['一']
    print(obj)   
        二   三   四
    1   1   2   3
    2   5   6   7
    3   9  10  11
    4  13  14  15        
    
  5. pandas的基本功能

    1.reindex
    reindex用于创建一个拥有新索引的新对象:会按照新的索引进行排序;只会出现新的索引值;某个索引值之前不存在则会引入缺少值NaN.
    
    2.drop:返回一个新对象
    在Series中通过obj.drop('行索引')来删除某行,也可传入列表来删除多行
    在Series中还需要指定asix参数,不指定默认为0,即删除列;指定为1或columns删除某行。
    
    3.Series的切片索引包含尾部!
    
    4.loc(x,y):选择名称为x的行,名称为y的列
      iloc(num1,num2):选择序号为num1的行,序号为num2的列
    
    5.算术和数据对齐
    
    6.fill_value用于指定填充值,将填充值与现有的值相加
    obj = DataFrame(np.arange(16).reshape((4,4)),index=['1','2','3','4'],columns=['一','二','三','四'] )
    
    obj1 = DataFrame(np.arange(16).reshape((4,4)),index=['1','3','6','9'],columns=['一','二','三','四'] )
    
    print(obj+obj1)
          一     二     三     四
    1   0.0   2.0   4.0   6.0
    2   NaN   NaN   NaN   NaN
    3  12.0  14.0  16.0  18.0
    4   NaN   NaN   NaN   NaN
    6   NaN   NaN   NaN   NaN
    9   NaN   NaN   NaN   NaN
    
    print(obj.add(obj1,fill_value=0))
          一     二     三     四
    1   0.0   2.0   4.0   6.0
    2   4.0   5.0   6.0   7.0
    3  12.0  14.0  16.0  18.0
    4  12.0  13.0  14.0  15.0
    6   8.0   9.0  10.0  11.0
    9  12.0  13.0  14.0  15.0
    
    6.apply:将函数应用到一行或一列的一维数组上。
    obj = DataFrame(np.arange(16).reshape((4,4)),index=['1','2','3','4'],columns=['一','二','三','四'] )
    f = lambda x:x.max()-x.min()
    print(obj.apply(f))12121212
    dtype: int64
        
    print(obj.apply(f,axis=1))
    1    3
    2    3
    3    3
    4    3
    dtype: int64
    
    7.排序
    )1.Series
    obj.sort_index()
    obj.sort_value()
    )2.DataFrame
    obj.sort_index(axis=?)
    obj.sort_value(by=?):通过给哪一列或几列排序,确定整体的顺序
        
    8.排名
    
内容概要:本文探讨了在MATLAB/SimuLink环境中进行三相STATCOM(静态同步补偿器)无功补偿的技术方法及其仿真过程。首先介绍了STATCOM作为无功功率补偿装置的工作原理,即通过调节交流电压的幅值和相位来实现对无功功率的有效管理。接着详细描述了在MATLAB/SimuLink平台下构建三相STATCOM仿真模型的具体步骤,包括创建新模型、添加电源和负载、搭建主电路、加入控制模块以及完成整个电路的连接。然后阐述了如何通过对STATCOM输出电压和电流的精确调控达到无功补偿的目的,并展示了具体的仿真结果分析方法,如读取仿真数据、提取关键参数、绘制无功功率变化曲线等。最后指出,这种技术可以显著提升电力系统的稳定性与电能质量,展望了STATCOM在未来的发展潜力。 适合人群:电气工程专业学生、从事电力系统相关工作的技术人员、希望深入了解无功补偿技术的研究人员。 使用场景及目标:适用于想要掌握MATLAB/SimuLink软件作技能的人群,特别是那些专注于电力电子领域的从业者;旨在帮助他们学会建立复杂的电力系统仿真模型,以便更好地理解STATCOM的工作机制,进而优化实际项目中的无功补偿方案。 其他说明:文中提供的实例代码可以帮助读者直观地了解如何从零开始构建一个完整的三相STATCOM仿真环境,并通过图形化的方式展示无功补偿的效果,便于进一步的学习与研究。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值