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
输出(print(dfa.head())):
WA MRG
4 10_10 -25901000
10_12 -27604000
10_13 -29411000
10_14 -25423000
10_15 -25740000
dtype: int64
答案 0 :(得分:1)
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
x
是一个DataFrame。x
被重新分配给x_arr
。x
的当前值,这是最后一个值
x_arr
中的值,而不是原始DataFrame。