持续更新:numpy,dataframe,list 互相转换

41 篇文章 0 订阅
37 篇文章 0 订阅

data=pd.read_csv (header?)

顶上去

##Df修改列名与series转dataframe

result = pd.value_counts(join_dict).to_frame().reset_index()
result.columns = ['index','Weight']
df.rename(columns={'Str':'字符'},inplace=True)
result.head()

res['add'] = result result为列表直接增加一列

grouped_df=df.groupby('type')
df_new = pd.DataFrame({ 'class' : grouped_df['name'].apply(list)}).reset_index()

csv 读入 dataframe,column 列 index 行 命名

df = pd.DataFrame(df,column=?, index=?)

参数names指定列表为列名称

df = df.sort_values(by = 'Date')

df=data.values

转化为numpy格式,可以进行切片操作

df[:,1].T.tolist():numpy 转化为 列表

np.array([1, 2, 3, 4, 5]):列表转化为numpy格式

dic1={'name':['A','b','c','d'],'age':[17,20,5,40],'gender':['男','女','女','男']} 
df3=pd.DataFrame(dic1)字典转化dataframe 
其中,numpy视为多维度list,也可以手动输入list构建dataframe
 
df = pd.DataFrame(mat)
print(df1.index)
#groupby_regiment = df1[0].groupby(df['regiment'])
df1[1] = df1.index

索引转为1列,df.set_index('date'),列转为索引

 

##进行行列的求平均等操作

 

student["total"] = temp.sum(axis=1)#axis 0为列,1为行

 

student["avg"] = temp.mean(axis=1)

https://www.cnblogs.com/hhh5460/p/7067928.html

https://blog.csdn.net/A632189007/article/details/76165744

 

初始化PD

  1. data = {'name':['li', 'liu', 'chen'],

  2. 'score':[90, 80, 85]}

  3. df = pd.DataFrame(data, index=['one', 'two','three'])

  4.  

或者

df = pd.DataFrame([area,code,lat,lng], columns=['area','code','lat','lng'])

 

df.to_csv('输出去重带纠偏经纬度.csv',encoding="utf_8_sig",index=None)#处理中文,并且将INDEX取出

##进行df的列命名

df.columns=list直接指定或者利用rename方法修改一部分
 

遍历方法

简单对上面三种方法进行说明:

iterrows(): 按行遍历,将DataFrame的每一行迭代为(index, Series)对,可以通过row[name]对元素进行访问。
itertuples(): 按行遍历,将DataFrame的每一行迭代为元祖,可以通过row[name]对元素进行访问,比iterrows()效率高。
iteritems():按列遍历,将DataFrame的每一列迭代为(列名, Series)对,可以通过row[index]对元素进行访问。
 

判断非空

df.loc[pd.isnull(df.area),'lng']=""

df.loc[pd.isnull(df.area),'lat']=""

df.to_csv('带纠偏经纬度.csv',encoding="utf_8_sig",index=None)#处理中文,并且将INDEX取出

 

##随机采样

df.sample(n=20000)

df.sample(frac=0.1)

 

a=(correct["test"]=="B-School").value_counts()[True]
查看pandas某一列某值的个数

df_clear = df.drop(df[(df['x']<0.01) | (df['x']>10)].index) #删除x小于0.01或大于10的行

citynames=['name', 'address','phone','prov','city','county','code','bdlng','bdlat','typecode','base','sub','cat']
testdf=pd.read_csv('912014pois.csv',engine='python',encoding='utf_8_sig',error_bad_lines=False,names=citynames,index_col=False)
plt.figure(dpi=150)#设置图的分辨率
plt.style.use('Solarize_Light2')#使用Solarize_Light2风格绘图
iris_type=pd_iris['class'].unique()#根据class列将点分为三类
iris_name=iris.target_names#获取每一类的名称
colors = ['#c72e29','#098154','#fb832d']#三种不同颜色
markers = ['$\clubsuit$','.','+']#三种不同图形
 
 
for i in range(len(iris_type)):
    plt.scatter(pd_iris.loc[pd_iris['class'] == iris_type[i], 'sepal length(cm)'],#传入数据x
                pd_iris.loc[pd_iris['class'] == iris_type[i], 'sepal width(cm)'],#传入数据y
                s = 50,#散点图形(marker)的大小
                c = colors[i],#marker颜色
                marker = markers[i],#marker形状
                #marker=matplotlib.markers.MarkerStyle(marker = markers[i],fillstyle='full'),#设置marker的填充
                alpha=0.8,#marker透明度,范围为0-1
                facecolors='r',#marker的填充颜色,当上面c参数设置了颜色,优先c
                edgecolors='none',#marker的边缘线色
                linewidths=1,#marker边缘线宽度,edgecolors不设置时,该参数不起作用
                label = iris_name[i])#后面图例的名称取自label
 
plt.legend(loc = 'upper right')
plt.show()
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 22
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值