Pandas 基础练习

题目:

import numpy as np
import pandas as pd

#定义函数,用于计算各户型的数量
def all_house(house_array):  # 统计df 某一列数据出现的次数
    arr = np.array(house_array)
    key = np.unique(house_array)
    result = {}
    for k in key:
        mark = (arr == k) # 一个值与整个数组比较,返回一个布尔类型的数组
        arr_new = arr[mark]
        v = arr_new.size   # 统计dataframe中有多少行
        result[k] = v
    return result 

file_path = open("zfsj_group.csv", encoding="utf-8")      
file_data = pd.read_csv(file_path)
house_array = file_data["户型"]

hourse1 = all_house(house_array)
a = hourse1.keys()  # 获取键
b = hourse1.values() # 获取值
df = pd.DataFrame(data=None) # 创建一个空的DataFrame
df['户型'] = a  # 添加户型列
df['数量'] = b  # 添加数量列
df.sort_values(by=['数量'],ascending=False,inplace=True)  # 按照数量降序排列
df = df[df['数量']>50]   # 筛选出数量大于50的
df_house_info=df.reset_index(drop=True)  # 重新设置索引
df_house_info.to_csv("zfsj4_after.csv",encoding="utf-8",header=True)  # 将dataframe转为csv文件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值