pandas应用

引入pandas模块

import pandas as pd

读取csv文件

data_year = pd.read_csv(“data_year.csv”)

去除指定列的重复值return:ndarray

data_year = data_year[“corp_id”].unique()

当获取Dataframe单列值时,列名用一对中括号包含

data_year = data_year[“corp_id”]

当获取Dataframe多列值时,列名用两对中括号包含

data_year = data_year[[“corp_id”,“year”]]

筛选指定数据

data = original_data[original_data[“time”] == test_time]

根据corp_id,year进行left_join合并

sub_data = pd.merge(sub_data1,sub_data2,how=“left”,on=[“corp_id”,“year”])
参考:http://blog.csdn.net/weixin_37226516/article/details/64137043

注: dataframe进行加减乘除运算时,需要保证index一致

获取行数,列数

df.columns.size###列数
df.iloc[:,0].size###行数

获取列名

columns_name_list = ch_colnames.columns.values.tolist()

分组 如果多字段分组,参数为list

df. ([df[“all_level”],df[“year”]])

去除重复字段,默认去除所有列

data = data.drop_duplicates([“A”])

索引重置

df.index = range(len(df))

判断Dataframe中是否有nan 也可判断其他值

if len(value_list[value.isnull().values == True]) == 0:

删除表中含有任何NaN的行

df.dropna(axis=0,how=‘any’)

删除表中全部为NaN的行

df.dropna(axis=0,how=‘all’)

id_vars保留的原始列,value_vars可以理解为需需要列转行的列名;var_name把列转行的列变量重新命名,默认为variable;value_name列转行对应变量的值的名称

scale_data_new = pd.melt(scale_data,id_vars=[“corp_id”,“year”], var_name=“factor_name”, value_name=“std_value”)

###复制
import copy
combos = copy.deepcopy(data)

求矩阵

c = np.array©
matrix = np.mat©

排序

index_value = index_value.sort_values(by=“year”)

合并多个dataframe

value_ch = pd.concat([value_ch, value], ignore_index=True)

给列排序

a = pd.DataFrame([[1,2,15],[2,3,4],[3,4,5]],columns=[“a”,“b”,“c”])
b = a[“c”].rank(method=“first”)

删除行索引重排

ser.reset_index(drop = True)
df.reset_index(drop = True)

转换指定df数据类型

df[[“guaranteeCircular”]] = df[[“guaranteeCircular”]].apply(pd.to_numeric,errors=“coerce”,downcast=“float”)

替换df中指定部分字符串

param = param.str.replace(’,’, ‘’)

NumPy
函数形式: tile(A,rep)
功能:重复A的各个维度
https://www.cnblogs.com/Sabre/p/7976702.html

pandas写csv文件如何去掉索引

data.to_csv( ‘D://DocumentTest//ship6.csv’,header=None,index=None)

dataframe反转“~”

c = ~df[[“A”]].isin([9,8,5,4,3,1])

###…
DataFrame有一个属性为empty,直接用DataFrame.empty判断就行。
如果df为空,则 df.empty 返回 True,反之 返回False。
注意empty后面不要加()。

读取csv时 删除第一列索引

del detail[detail.columns.values[0]]

指定字符串将一列分成两列

aa = a[“A”].str.split(" ",expand=True)

加法运算:add
减法运算:sub
乘法运算:mul
除法运算:div

上面的方法都是在开发中应用到的,如果有问题可以留言!

最后如果我的文章对您起到了帮助,那动动手指为我点个赞吧!
有问题,请留言,我是闷闷的冰石头
欢迎转载交流

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值