pandas dataframe 数据框

数据框是一个二维数据结构,类似于SQL中的表格。借助字典,数组,列表和序列等可以构造数据框。

1.字典创建数据框,则列的名称为key的名称:

d = {‘one‘:pd.Series([1,2,3],index= [‘a‘,‘b‘,‘c‘]),
     ‘two‘:pd.Series([1,2,3,4],index=[‘a‘,‘b‘,‘c‘,‘d‘])
}
print(pd.DataFrame(d))

2.列表创建数据框:

d = pd.DataFrame([[1,2,3,4],[5,6,7,8],[10,20,30,40],[50,60,70,80]],columns=[‘V1‘,‘V2‘,‘V3‘,‘V4‘])
print(d)

3.列的选取,删除和增加:

df = pd.DataFrame([[1,2,3,4],[5,6,7,8],[10,20,30,40],[50,60,70,80]],columns=[‘V1‘,‘V2‘,‘V3‘,‘V4‘])
print(df,‘\n‘)

df[‘V5‘] = df[‘V1‘]*df[‘V2‘] #第一列与第二列相乘;
print(‘第一列与第二列相乘:‘)
print(df[‘V5‘],‘\n‘)

df[‘Flag‘] = df[‘V2‘] > 20 #增加一列;逻辑结果的值赋给flag
print(‘增加一列:‘)
print(df,‘\n‘)

del df[‘Flag‘] #删除列
V5 = df.pop(‘V5‘) #删除列
print(‘删除列:‘)
print(df,‘\n‘,V5,‘\n‘)

df.insert(2,‘V6‘,df[‘V1‘]) # 2为插入的位置,V6为列的名称,df[‘V1‘]为插入的数值
print(‘插入列:‘)
print(df,‘\n‘)
print(‘*‘*50)

4.一般的选取方式:

操作方式 方法 结果
选择某一列 def[col] 序列
通过列标签选择某一行 df.loc[col] 序列
通过具体的位置选择某一行 df.icol[2] 序列
切行 df[5:10] 数据框
读取其中一行数据
df.loc[0,:]
df.iloc[0,:]
df.ix[0,:]

 

原文地址:https://www.cnblogs.com/AkingHuang/p/9869265.html

时间: 2024-11-08 03:45:48

pandas dataframe 数据框的相关文章

python 值比较判断,np.nan is np.nan 却 np.nan != np.nan ,pandas 单个数据框值判断nan

pandas中DataFrame,Series 都有 isnull()方法,而数据框却没有,用了就会报错:AttributeError: 'float' object has no attribute 'isnull' 怎么判断单个框是否为 np.nan Python常规的判断,==,和is, 这对None是有效的 None is NoneOut[49]: True None == NoneOut[50]: True 而对,np.nan,只能用is da1pd.ix[6000996,u'团队']

pandas DataFrame数据筛选和切片

DataFrame数据筛选--loc,iloc,ix,at,iat 条件筛选 单条件筛选 选取col1列的取值大于n的记录: data[data['col1']>n] 筛选col1列的取值大于n的记录,但是显示col2,col3列的值: data[['col2','col3']][data['col1']>n] 选择特定行:使用isin函数根据特定值筛选记录.筛选col1值等于list中元素的记录: data[data.col1.isin(list)] 多条件筛选 可以使用&(并)与|

Pandas DataFrame 数据选取和过滤

This would allow chaining operations like: pd.read_csv('imdb.txt') .sort(columns='year') .filter(lambda x: x['year']>1990) # <---this is missing in Pandas .to_csv('filtered.csv') For current alternatives see: http://stackoverflow.com/questions/11869

Pandas dataframe数据写入文件和数据库

Pandas是Python下一个开源数据分析的库,它提供的数据结构DataFrame极大的简化了数据分析过程中一些繁琐操作,DataFrame是一张多维的表,大家可以把它想象成一张Excel表单或者Sql表.之前这篇文章已经介绍了从各种数据源将原始数据载入到dataframe中,这篇文件介绍怎么将处理好的dataframe中的数据写入到文件和数据库中. 首先我们通过二维ndarray创建一个简单的DataFrame: 1 2 3 4 5 6 7 8 import pandas as pd imp

Spark2 DataFrame数据框常用操作(三)

import org.apache.spark.sql.functions._ // 对整个DataFrame的数据去重 data.distinct() data.dropDuplicates() // 对指定列的去重 val colArray=Array("affairs", "gender") data.dropDuplicates(colArray) //data.dropDuplicates("affairs", "gender

pandas dataframe数据提取的方法

import numpy as np from pandas import DataFrame import pandas as pd df=DataFrame(np.arange(12).reshape((3,4)),index=['one','two','thr'],columns=list('abcd')) df['a']#取a列 df[['a','b']]#取a.b列 #ix可以用数字索引,也可以用index和column索引 df.ix[0]#取第0行 df.ix[0:1]#取第0行

Spark DataFrame 数据框空值判断和处理

scala> val data1 = data.toDF("affairs", "gender", "age", "yearsmarried", "children", "religiousness", "education", "occupation", "rating") data1: org.apache.spark

Spark2 DataFrame数据框常用操作(八)之cube与rollup

val df6 = spark.sql("select gender,children,max(age),avg(age),count(age) from Affairs group by Cube(gender,children) order by 1,2") df6.show +------+--------+--------+--------+----------+ |gender|children|max(age)|avg(age)|count(age)| +------+--

Spark2 DataFrame数据框常用操作(九)之分析函数--排名函数row_number,rank,dense_rank,percent_rank

select gender,       age,       row_number() over(partition by gender order by age) as rowNumber,       rank() over(partition by gender order by age) as ranks,       dense_rank() over(partition by gender order by age) as denseRank,       percent_rank