pandas 一些常用函数

1. pandas读取 没有标题栏的数据,添加标题栏的方法(csv文件)

header = ["A", "B", "C", "D", "E", "F", "G", "H"]
df = pd.read_csv('sy_yic_result_2020.csv',header=None,names=header)

2. pandas两列相加或者拼接转换成一列

df["I"] = df["B"] + df["G"]  # 必须是同类型相加或拼接

3. 存入mongodb

db = conn['pandas_db']
col = db['test']
data = df.to_dict(orient='record')
col.insert_many(data)

4. pandas对某一列数据进行处理

def add_uuid(data):
    """
    对字符串进行加密
    :return:
    """
    data = uuid.uuid3(uuid.NAMESPACE_DNS, data)
    data = str(data)
    result_data = data.replace('-', '')
    return result_data

# 只处理某列时可以用apply方法,然后传入一个lambda,里面用x['paramName']再指定要传入的参数
# 必须加axis=1,否则会报错,把rooms变量的第一个字段,而不是指定的字段给传进去
# axis=1,表示每次取一行数据进行处理,按行处理

df["I"] = df["B"] + df["G"]
df["I"] = df.apply(lambda x: add_uuid(x["I"]), axis=1)

5. 创建空的DataFrame

result = pd.DataFrame()

6. dataFrame 转化成字典, 列表

items = df.to_dict(orient='records')  # 转成字典
items = df.values.tolist()  # 转成列表

7. pandas统计某一列中各个值的出现次数

df_train.loc[:,'label'].value_counts()

8. 获取每一行最大值, 及对应的列索引

df['max_values'] = df.max(axis=1)  # 最大值
df['max_index'] =  df.idxmax(axis=1) # 最大值索引 如果有相同最大,输出索引值小的

9. 二维DataFrame对象的拼接

def make_df(cols,index):
    data = {c:[str(c)+str(i) for i in index] for c in cols}
    return pd.DataFrame(data,index=index)
df1 = make_df('AB',[1,2])
print(df1)
df2 = make_df('ABc',[3,4,5])
print(df2)
df = pd.concat([df1, df2])
print(df)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值