pandas的DataFrame数据对象

DataFrame创建

    DataFrame是二维数组对象,DataFrame可以被看成是Series所组成的字典,并公用一个行数据。

pandas可以直接读取csv文件,使用的是read_csv函数。

a = pd.DataFrame({"one":[1,2,3],"two":[4,5,6]})
print(a)
b = pd.DataFrame({"one":[1,2,3],"two":[4,5,6]}, index=['a','b','c'])
print(b)
c=pd.read_csv("d:/abc.csv")

DataFrame属性

    

a = pd.DataFrame({"one":[1,2,3],"two":[4,5,6]})
print(a)
b = pd.DataFrame({"one":[1,2,3],"two":[4,5,6]}, index=['a','b','c'])
print(b)
print(a.index)
print(b.index)
print(a.values)
print(b.values)
print(a.T)
print(a.columns)
print(a.describe)
print(a.describe())

DataFrame的索引和切片

    按索引方式获取数据,默认先选列,再选行。建议使用loc和iloc方式来指定方式访问。loc指定使用标签的方式访问。

iloc是指定按照下标的方式获取数据。行列索引部分可以是常规索引、切片、布尔索引、花式索引等。

a = pd.DataFrame({"one":[1,2,3],"two":[4,5,6],"three":[7,8,9]})
print(a)
print(a["one"][0])
print(a.loc[0,"one"])
print(a.loc[0,])
print(a.loc[[0,2],:])

DataFrame数据对齐和缺失数据处理

    DataFrame在运算时,也需要对齐,会进行行和列分别对齐。

缺失数据可以使用fillna函数来填充,也可以通过dropna来删除NaN所在的行。

    c.dropna(how="all")    行中所有数据都为NaN才删除。
    c.dropna(axis=1)  删除列中含有NaN的列的数据。

a = pd.DataFrame({"one":[1,2,3],"two":[4,5,3],"three":[7,8,2]},index=['a','b','c'])
b = pd.DataFrame({"two":[5,2,8],"one":[4,1,6],"three":[7,3,5]},index=['a','c','b'])
print(a)
print(b)
c=a+b
print(c)
c.loc["a","three"] = np.nan
print(c)
c.fillna(0, inplace=True)
print(c)
c.dropna()
c.dropna(how="all")
c.dropna(axis=1)

DataFrame常用方法

  mean()方法用来获取平均值,默认按列求平均值,axis可以指定按行或按列,0为列,1为行。

sum()方法用来求和。sort_values()为按值进行排序,sort_index()为按索引进行排序。

a = pd.DataFrame({"one":[1,2,3],"two":[4,5,3],"three":[7,8,2]},index=['a','b','c'])
b = pd.DataFrame({"two":[5,2,8],"one":[4,1,6],"three":[7,3,5]},index=['a','c','b'])
print(a)
print(b)
print(a.mean())
print(a.mean(axis = 1))
print(b.sum())
print(b.sum(axis = 1))
print(a.sort_values(by='two'))
print(a.sort_values(by='two', ascending=False))
print(b.sort_index())
print(b.sort_index(axis=1, ascending=False))

 

 

如果你喜欢这篇文章,别忘了点赞和评论哦!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pandas DataFramepandas中的一个重要数据结构,相当于表格数据模型,可以方便地处理和分析数据。它可以将数据以表格的形式进行组织和存储,并提供了丰富的功能来进行数据统计和分析。通过使用DataFrame,我们可以快速生成统计数据数据图形来更好地理解和展示数据。 举个例子,我们可以使用pandas和numpy模拟一组数据,然后将其转换为DataFrame,并进行各种数据操作和分析。首先,我们可以使用以下代码生成一组随机数据并创建DataFrame: ``` import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(365, 4), index=pd.date_range('01/01/2018', periods=365), columns=list('ABCD')) ``` 这段代码使用numpy生成了一个365行4列的随机数矩阵,并将其转换为一个DataFrame对象。其中,index参数用于指定行索引,columns参数用于指定列索引。这样我们就创建了一个具有日期索引和ABCD四列的DataFrame。 接下来,我们可以对DataFrame进行各种数据分析和统计操作。比如,我们可以使用以下代码对数据进行累加求和,并绘制折线图来展示数据的趋势: ``` df = df.cumsum() import matplotlib.pyplot as plt df.plot() plt.show() ``` 这段代码首先使用cumsum()方法对DataFrame进行累加求和操作,然后使用matplotlib.pyplot库对数据进行可视化,并使用show()方法显示图形。这样我们就可以通过折线图直观地看到数据的趋势。 通过pandasDataFrame,我们可以方便地进行数据处理、统计和可视化分析,帮助我们更好地理解和利用数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值