python解决数据框中添加一行或者一列(DataFrame的行列处理)

1、解决数据框中添加一行(给定值)

###原数据框
 data_Peak_2 = pd.DataFrame({"Peak_density": np.ndarray.tolist(hmax_x), "Peak_H": hmax_y, "DP_DPV": pd_pv, "DP_DPV_2": pd_pv2})
            
###实现在数据框中添加一行
event = {}
event["Peak_density"] =(df.iloc[0, 2]+df.iloc[1, 2])/2 df.iloc[0, 2]#(df.iloc[0, 2]+df.iloc[1, 2])/2
event["Peak_H"] = 0.001
event["DP_DPV"] = 0.02
event["DP_DPV_2"] = 0.02
data_Peak_2 = data_Peak_2.append(event, ignore_index=true)
           

2、解决数据框中添加一列

import laspy
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import FormatStrFormatter
import os, glob
from scipy.signal import savgol_filter

path=r"E:\***\20210809数据统计\***" ###原数据框
pathDir = os.listdir(path)
for f in pathDir:
    df = pd.read_csv(os.path.join(path, f))
    print("df1",df)
    ###求曲线
    y = df.cover
    x = df.H
    z1 = np.polyfit(x, y, 10)  # 用10次多项式拟合
    p1 = np.poly1d(z1)
    yvals = np.polyval(z1, x)  # 也可以使用yvals=np.polyval(z1,x)
    yvals2 = savgol_filter(yvals, 5, 2, mode='nearest')
    ###曲线结束
    D_value2=yvals2 - 0.005
    df["D_value2"] = D_value2  ###添加D_value2这一列
    df["yvals2"] = yvals2      ###添加yvals2这一列
    print("df2",df)

    ###求斜率
    XL2 = []
    for pdi in range(0, len(df.H)-1):
        pdi2 = df.iloc[pdi, 13]
        pdi3 = df.iloc[pdi + 1, 13]
        pdj2 = df.iloc[pdi, 1]
        pdj3 = df.iloc[pdi + 1, 1]
        XL = (pdi2 - pdi3) / (pdj2 - pdj3)
        XL2.append(XL)
    df["XL"] = pd.Series(XL2)  ###添加斜率列


 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,DataFrame类型的对象可以使用prod()函数进行累乘操作。prod()函数默认是对所有的行进行操作,如果需要对列进行操作,可以使用axis参数指定轴向。根据引用中的例子,执行myDF.prod(axis=0)会得到每一列的累乘结果,而执行myDF.prod(axis=1)会得到每一行的累乘结果。所以选项C是错误的,第二次执行完,一共有2个结果。选项A是正确的,第一次执行完,一共有3个结果。选项B是正确的,第二次执行完,第二行的结果为6000。选项D是正确的,myDF是2行3列的数据框。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [对DataFrame行列累乘:prod()函数](https://blog.csdn.net/liujingwei8610/article/details/127582786)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Python学习笔记——dataframe基础常用操作](https://blog.csdn.net/weixin_45880459/article/details/127263215)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值