IIUC, вам нужно:
df['Position_Change']=df.groupby(['Season','Team'])['Position'].apply(lambda x : x.diff().fillna(0))
print(df)
Season Team GW Position Position_Change
0 1314 A 1 1 0.0
3 1314 A 2 3 2.0
6 1314 A 3 2 -1.0
1 1314 B 1 2 0.0
4 1314 B 2 1 -1.0
7 1314 B 3 3 2.0
2 1314 C 1 3 0.0
5 1314 C 2 2 -1.0
8 1314 C 3 1 -1.0
9 1415 A 1 2 0.0
12 1415 A 2 2 0.0
15 1415 A 3 3 1.0
10 1415 B 1 1 0.0
13 1415 B 2 1 0.0
16 1415 B 3 2 1.0
11 1415 C 1 3 0.0
14 1415 C 2 3 0.0
17 1415 C 3 1 -2.0
Я нашел, что довольно просто постигнуть интуитивно то, что параметры, как предполагается. В зависимости от того, как сложный Вы идете, Вы смогли предполагать то, что Вы, как предполагается, передаете.
Существует один супер важный, хотя (это - Python с SOAPpy):
self.proxy = WSDL.Proxy( jiraUrl )
self.token = self.proxy.login(self.username, self.password)
...
issues = self.proxy.getIssuesFromFilter(self.token, args[0])
После получения маркера от входа в систему () метод, необходимо передать его в в качестве параметра ко всем другим вызовам SOAP. После понимания, что, это было довольно просто для выяснения то, чем должны быть параметры (например, getIssuesFromFilter должен взять фильтрованный в качестве своего другого параметра),
См. http://confluence.atlassian.com/display/JIRA/JIRA+RPC+Services для всех сервисов RPC JIRA
javadoc связывают Вас найденный, корректный. Необходимо также знать, что не все выставляется через SOAP или интерфейсы RPC, но можно сделать примерно, что-либо с помощью остальных взаимодействует через интерфейс. К сожалению, остальные взаимодействуют через интерфейс, не хорошо документируется, но можно использовать транспортного инспектора HTML инструмент (как Скрипач для IE), чтобы захватить фактические данные POST, отправленные на сервер от веб-интерфейса и соединить интерфейс для конкретного вызова, в котором Вы нуждаетесь. Не всегда самый легкий путь, но это действительно работает.