gpt4 book ai didi

python - Pandas .apply() 子函数正在更改主数据框

转载 作者:太空宇宙 更新时间:2023-11-03 18:34:40 24 4
gpt4 key购买 nike

Pandas/Python 用户,

我正在尝试按组分析 x 和 y 坐标数据。由于某种原因,当我将列的值提取到一系列中以逐个分析它们,然后尝试返回完整的数据帧时,某些列会被丢弃。我不确定为什么我的主数据框在我没有进行任何修改的情况下被修改。

代码:

import pandas as pd
import numpy as np


def eventDetector(x):
x_arr = pd.Series(x['X_COOR'].values.copy())
y_arr = pd.Series(x['Y_COOR'].values.copy())
print('For x returned: %s for y: %s' % (x_arr.values, y_arr.values))
for x, y in zip(x_arr, y_arr):
1+1
print('Here are the x: %s and y: %s' % (x, y))
return x


prev_x = 0
prev_y = 0

df = pd.read_csv('/users/aleksarias/desktop/SubS.csv')
df.sort(['WA', 'MRG', 'DATETIME'], inplace=True)
dfg = df.groupby(['WA', 'MRG'])
print(dfg.head(1))
dfa = dfg.apply(eventDetector)
print(dfa.head())

输入:

              WA    LEV        DATETIME    MRG    X_COOR    Y_COOR
WA MRG
4 10_10 714 4 6317C 11/8/13 17:24 10_10 -25901000 -33021000
10_12 716 4 9295T 11/25/13 10:46 10_12 -27604000 -21857000
10_13 720 4 2965S 10/14/13 1:56 10_13 -27887187 -12670910
10_14 722 4 6025P 11/4/13 9:26 10_14 -25534000 -7426000
10_15 726 4 6817C 11/13/13 10:09 10_15 -30274000 -397000
10_16 730 4 6025P 11/4/13 9:26 10_16 -25265000 4181000
10_17 733 4 4865S 10/27/13 15:56 10_17 -28157000 10448000
10_18 735 4 4975C 10/29/13 5:22 10_18 -28182842 10506772
10_19 736 4 5906C 11/3/13 11:36 10_19 -26065098 19681040
10_21 738 4 6025P 11/4/13 9:26 10_21 -25388000 34586000
10_23 742 4 4865S 10/27/13 15:56 10_23 -27075000 42340000
10_24 746 4 4975C 10/29/13 5:22 10_24 -27812334 44613674
10_25 748 4 4865S 10/27/13 15:56 10_25 -25996000 53117000

输出(打印(dfa.head())):

WA  MRG  
4 10_10 -25901000
10_12 -27604000
10_13 -29411000
10_14 -25423000
10_15 -25740000
dtype: int64

最佳答案

def eventDetector(x):                                    # 1
x_arr = pd.Series(x['X_COOR'].values.copy())
y_arr = pd.Series(x['Y_COOR'].values.copy())
print('For x returned: %s for y: %s' % (x_arr.values, y_arr.values))
for x, y in zip(x_arr, y_arr): # 2
1+1
print('Here are the x: %s and y: %s' % (x, y))
return x # 3
  1. 这里,x 是一个 DataFrame。
  2. 现在,x 被重新分配给 x_arr 中的值。
  3. 返回的值为x的当前值,即最后一个x_arr 中的值,而不是原始 DataFrame。

关于python - Pandas .apply() 子函数正在更改主数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21815373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com