-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTax_Parser.py
More file actions
97 lines (73 loc) · 2.74 KB
/
Tax_Parser.py
File metadata and controls
97 lines (73 loc) · 2.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import pandas as pd
data = pd.read_csv("session2_parsed.csv") # data acumulada
new_session = pd.read_csv(r"C:\Users\Sergio\Downloads\sesion3.csv") # new session data
#### Parser ####
ids = new_session[
[
'participant.code',
'participant.label',
]
]
dictator = new_session[
[
'dictator.1.player.dictator',
'dictator.1.player.id_in_group',
'dictator.1.group.id_in_subsession',
'dictator.1.player.kept',
'dictator.1.group.group_kept',
'dictator.1.player.payoff'
]
]
# trust
sent_back_strat = ["trust.1.player.sent_back_amount_strategy_"+str(i)
for i in range(9,100,9) ]
variables = [
'trust.1.player.trustor',
'trust.1.player.sent_amount_strategy',
'trust.1.player.trustee',
'trust.1.player.id_in_group',
'trust.1.group.id_in_subsession',
] + sent_back_strat + [
'trust.1.group.sent_amount',
'trust.1.group.sent_back_amount',
'trust.1.player.payoff'
]
trust = new_session[variables]
# public goods
public_goods = new_session[
[
'public_goods.1.player.contribution',
'public_goods.1.player.id_in_group',
'public_goods.1.group.id_in_subsession',
'public_goods.1.group.total_contribution',
'public_goods.1.group.individual_share',
'public_goods.1.player.payoff'
]
]
# coin tossing
variables = []
for i in range(1,6):
temp = [
'coin_tossing.'+str(i)+'.player.heads_or_tails',
'coin_tossing.'+str(i)+'.player.number_of_heads',
'coin_tossing.'+str(i)+'.player.real_coin_value',
'coin_tossing.'+str(i)+'.player.player_is_lying',
'coin_tossing.'+str(i)+'.player.payoff']
variables += temp
coin_tossing = new_session[variables]
coin_tossing['Num_Lies'] = sum([coin_tossing['coin_tossing.'+str(i)+'.player.player_is_lying'] for i in range(1,6)])
coin_tossing['%_Lies'] = coin_tossing['Num_Lies']*100/5
coin_tossing['Payoff_Coin_Tossing'] = sum([coin_tossing['coin_tossing.'+str(i)+'.player.payoff'] for i in range(1,6)])
variables = ['Num_Lies','%_Lies','Payoff_Coin_Tossing']
coin_tossing = coin_tossing[variables]
coin_tossing.columns = [variables]
final_data = pd.concat([ids,dictator,trust,public_goods,coin_tossing], axis=1)
#### End Parser ####
### Formatting columns ###
variables = final_data.columns.tolist()
for element in range(len(variables)):
variables[element] = variables[element][0].replace(".","_") if type(variables[element]) is tuple else variables[element].replace(".","_")
final_data.columns = variables
### End Formatting columns ###
acum_data = pd.concat([data,final_data]) # concat all data sessions with the new one
acum_data.to_csv("session3_parsed.csv", index=False) #exporting the new data