引入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
上面的方法都是在开发中应用到的,如果有问题可以留言!
最后如果我的文章对您起到了帮助,那动动手指为我点个赞吧!
有问题,请留言,我是闷闷的冰石头
欢迎转载交流