Pandas: How to apply function row by row in descening order to multiple columns
I have a dataframe df1 with 1000 columns. In each column there is a random value. It looks like:
0 1 2 3 4 5 6 7 8 9 ... 990 991 992 993 994 995 996 997 998 999
0 23 15 4 4 23 0 38 14 11 14 ... 22 3 25 3 24 8 1 14 18 27
I have a second dataframe df2 with second-by-second values f that Looks like:
dtm f
0 2018-03-01 00:00:00 +0000 50.135
1 2018-03-01 00:00:01 +0000 50.130
2 2018-03-01 00:00:02 +0000 50.120
3 2018-03-01 00:00:03 +0000 50.112
4 2018-03-01 00:00:04 +0000 50.102
5 2018-03-01 00:00:05 +0000 50.097
6 2018-03-01 00:00:06 +0000 50.095
7 2018-03-01 00:00:07 +0000 50.095
8 2018-03-01 00:00:08 +0000 50.092
9 2018-03-01 00:00:09 +0000 50.095
10 2018-03-01 00:00:10 +0000 50.097
11 2018-03-01 00:00:11 +0000 50.097
12 2018-03-01 00:00:12 +0000 50.097
13 2018-03-01 00:00:13 +0000 50.100
14 2018-03-01 00:00:14 +0000 50.102
15 2018-03-01 00:00:15 +0000 50.105
16 2018-03-01 00:00:16 +0000 50.102
17 2018-03-01 00:00:17 +0000 50.102
18 2018-03-01 00:00:18 +0000 50.100
19 2018-03-01 00:00:19 +0000 50.100
20 2018-03-01 00:00:20 +0000 50.100
21 2018-03-01 00:00:21 +0000 50.097
22 2018-03-01 00:00:22 +0000 50.097
23 2018-03-01 00:00:23 +0000 50.095
24 2018-03-01 00:00:24 +0000 50.092
25 2018-03-01 00:00:25 +0000 50.090
26 2018-03-01 00:00:26 +0000 50.090
27 2018-03-01 00:00:27 +0000 50.087
28 2018-03-01 00:00:28 +0000 50.085
29 2018-03-01 00:00:29 +0000 50.082
... ... ...
86371 2018-03-01 23:59:31 +0000 49.925
86372 2018-03-01 23:59:32 +0000 49.925
86373 2018-03-01 23:59:33 +0000 49.925
86374 2018-03-01 23:59:34 +0000 49.927
86375 2018-03-01 23:59:35 +0000 49.927
86376 2018-03-01 23:59:36 +0000 49.930
86377 2018-03-01 23:59:37 +0000 49.930
86378 2018-03-01 23:59:38 +0000 49.930
86379 2018-03-01 23:59:39 +0000 49.930
86380 2018-03-01 23:59:40 +0000 49.930
86381 2018-03-01 23:59:41 +0000 49.930
86382 2018-03-01 23:59:42 +0000 49.930
86383 2018-03-01 23:59:43 +0000 49.927
86384 2018-03-01 23:59:44 +0000 49.925
86385 2018-03-01 23:59:45 +0000 49.925
86386 2018-03-01 23:59:46 +0000 49.920
86387 2018-03-01 23:59:47 +0000 49.920
86388 2018-03-01 23:59:48 +0000 49.920
86389 2018-03-01 23:59:49 +0000 49.920
86390 2018-03-01 23:59:50 +0000 49.920
86391 2018-03-01 23:59:51 +0000 49.917
86392 2018-03-01 23:59:52 +0000 49.917
86393 2018-03-01 23:59:53 +0000 49.915
86394 2018-03-01 23:59:54 +0000 49.915
86395 2018-03-01 23:59:55 +0000 49.915
86396 2018-03-01 23:59:56 +0000 49.912
86397 2018-03-01 23:59:57 +0000 49.915
86398 2018-03-01 23:59:58 +0000 49.917
86399 2018-03-01 23:59:59 +0000 49.917
86400 2018-03-02 00:00:00 +0000 49.915
Starting from the Initial values of df1, I Need to increase them by 1 each time that f>50 and decrease by 1 whenever f<50. The result should be another dataframe, with 1 row for each second, the relative value, and 1000 columns.
I have tried:
if (f.f>50).any():
df1=df1.apply(lambda x: ((f.f/f.f)*x+1).cumsum())
But it results just in a table with the first line correct and then NaN everywhere else in 86400 rows.
Any help? Thank you in advance
python pandas
add a comment |
I have a dataframe df1 with 1000 columns. In each column there is a random value. It looks like:
0 1 2 3 4 5 6 7 8 9 ... 990 991 992 993 994 995 996 997 998 999
0 23 15 4 4 23 0 38 14 11 14 ... 22 3 25 3 24 8 1 14 18 27
I have a second dataframe df2 with second-by-second values f that Looks like:
dtm f
0 2018-03-01 00:00:00 +0000 50.135
1 2018-03-01 00:00:01 +0000 50.130
2 2018-03-01 00:00:02 +0000 50.120
3 2018-03-01 00:00:03 +0000 50.112
4 2018-03-01 00:00:04 +0000 50.102
5 2018-03-01 00:00:05 +0000 50.097
6 2018-03-01 00:00:06 +0000 50.095
7 2018-03-01 00:00:07 +0000 50.095
8 2018-03-01 00:00:08 +0000 50.092
9 2018-03-01 00:00:09 +0000 50.095
10 2018-03-01 00:00:10 +0000 50.097
11 2018-03-01 00:00:11 +0000 50.097
12 2018-03-01 00:00:12 +0000 50.097
13 2018-03-01 00:00:13 +0000 50.100
14 2018-03-01 00:00:14 +0000 50.102
15 2018-03-01 00:00:15 +0000 50.105
16 2018-03-01 00:00:16 +0000 50.102
17 2018-03-01 00:00:17 +0000 50.102
18 2018-03-01 00:00:18 +0000 50.100
19 2018-03-01 00:00:19 +0000 50.100
20 2018-03-01 00:00:20 +0000 50.100
21 2018-03-01 00:00:21 +0000 50.097
22 2018-03-01 00:00:22 +0000 50.097
23 2018-03-01 00:00:23 +0000 50.095
24 2018-03-01 00:00:24 +0000 50.092
25 2018-03-01 00:00:25 +0000 50.090
26 2018-03-01 00:00:26 +0000 50.090
27 2018-03-01 00:00:27 +0000 50.087
28 2018-03-01 00:00:28 +0000 50.085
29 2018-03-01 00:00:29 +0000 50.082
... ... ...
86371 2018-03-01 23:59:31 +0000 49.925
86372 2018-03-01 23:59:32 +0000 49.925
86373 2018-03-01 23:59:33 +0000 49.925
86374 2018-03-01 23:59:34 +0000 49.927
86375 2018-03-01 23:59:35 +0000 49.927
86376 2018-03-01 23:59:36 +0000 49.930
86377 2018-03-01 23:59:37 +0000 49.930
86378 2018-03-01 23:59:38 +0000 49.930
86379 2018-03-01 23:59:39 +0000 49.930
86380 2018-03-01 23:59:40 +0000 49.930
86381 2018-03-01 23:59:41 +0000 49.930
86382 2018-03-01 23:59:42 +0000 49.930
86383 2018-03-01 23:59:43 +0000 49.927
86384 2018-03-01 23:59:44 +0000 49.925
86385 2018-03-01 23:59:45 +0000 49.925
86386 2018-03-01 23:59:46 +0000 49.920
86387 2018-03-01 23:59:47 +0000 49.920
86388 2018-03-01 23:59:48 +0000 49.920
86389 2018-03-01 23:59:49 +0000 49.920
86390 2018-03-01 23:59:50 +0000 49.920
86391 2018-03-01 23:59:51 +0000 49.917
86392 2018-03-01 23:59:52 +0000 49.917
86393 2018-03-01 23:59:53 +0000 49.915
86394 2018-03-01 23:59:54 +0000 49.915
86395 2018-03-01 23:59:55 +0000 49.915
86396 2018-03-01 23:59:56 +0000 49.912
86397 2018-03-01 23:59:57 +0000 49.915
86398 2018-03-01 23:59:58 +0000 49.917
86399 2018-03-01 23:59:59 +0000 49.917
86400 2018-03-02 00:00:00 +0000 49.915
Starting from the Initial values of df1, I Need to increase them by 1 each time that f>50 and decrease by 1 whenever f<50. The result should be another dataframe, with 1 row for each second, the relative value, and 1000 columns.
I have tried:
if (f.f>50).any():
df1=df1.apply(lambda x: ((f.f/f.f)*x+1).cumsum())
But it results just in a table with the first line correct and then NaN everywhere else in 86400 rows.
Any help? Thank you in advance
python pandas
add a comment |
I have a dataframe df1 with 1000 columns. In each column there is a random value. It looks like:
0 1 2 3 4 5 6 7 8 9 ... 990 991 992 993 994 995 996 997 998 999
0 23 15 4 4 23 0 38 14 11 14 ... 22 3 25 3 24 8 1 14 18 27
I have a second dataframe df2 with second-by-second values f that Looks like:
dtm f
0 2018-03-01 00:00:00 +0000 50.135
1 2018-03-01 00:00:01 +0000 50.130
2 2018-03-01 00:00:02 +0000 50.120
3 2018-03-01 00:00:03 +0000 50.112
4 2018-03-01 00:00:04 +0000 50.102
5 2018-03-01 00:00:05 +0000 50.097
6 2018-03-01 00:00:06 +0000 50.095
7 2018-03-01 00:00:07 +0000 50.095
8 2018-03-01 00:00:08 +0000 50.092
9 2018-03-01 00:00:09 +0000 50.095
10 2018-03-01 00:00:10 +0000 50.097
11 2018-03-01 00:00:11 +0000 50.097
12 2018-03-01 00:00:12 +0000 50.097
13 2018-03-01 00:00:13 +0000 50.100
14 2018-03-01 00:00:14 +0000 50.102
15 2018-03-01 00:00:15 +0000 50.105
16 2018-03-01 00:00:16 +0000 50.102
17 2018-03-01 00:00:17 +0000 50.102
18 2018-03-01 00:00:18 +0000 50.100
19 2018-03-01 00:00:19 +0000 50.100
20 2018-03-01 00:00:20 +0000 50.100
21 2018-03-01 00:00:21 +0000 50.097
22 2018-03-01 00:00:22 +0000 50.097
23 2018-03-01 00:00:23 +0000 50.095
24 2018-03-01 00:00:24 +0000 50.092
25 2018-03-01 00:00:25 +0000 50.090
26 2018-03-01 00:00:26 +0000 50.090
27 2018-03-01 00:00:27 +0000 50.087
28 2018-03-01 00:00:28 +0000 50.085
29 2018-03-01 00:00:29 +0000 50.082
... ... ...
86371 2018-03-01 23:59:31 +0000 49.925
86372 2018-03-01 23:59:32 +0000 49.925
86373 2018-03-01 23:59:33 +0000 49.925
86374 2018-03-01 23:59:34 +0000 49.927
86375 2018-03-01 23:59:35 +0000 49.927
86376 2018-03-01 23:59:36 +0000 49.930
86377 2018-03-01 23:59:37 +0000 49.930
86378 2018-03-01 23:59:38 +0000 49.930
86379 2018-03-01 23:59:39 +0000 49.930
86380 2018-03-01 23:59:40 +0000 49.930
86381 2018-03-01 23:59:41 +0000 49.930
86382 2018-03-01 23:59:42 +0000 49.930
86383 2018-03-01 23:59:43 +0000 49.927
86384 2018-03-01 23:59:44 +0000 49.925
86385 2018-03-01 23:59:45 +0000 49.925
86386 2018-03-01 23:59:46 +0000 49.920
86387 2018-03-01 23:59:47 +0000 49.920
86388 2018-03-01 23:59:48 +0000 49.920
86389 2018-03-01 23:59:49 +0000 49.920
86390 2018-03-01 23:59:50 +0000 49.920
86391 2018-03-01 23:59:51 +0000 49.917
86392 2018-03-01 23:59:52 +0000 49.917
86393 2018-03-01 23:59:53 +0000 49.915
86394 2018-03-01 23:59:54 +0000 49.915
86395 2018-03-01 23:59:55 +0000 49.915
86396 2018-03-01 23:59:56 +0000 49.912
86397 2018-03-01 23:59:57 +0000 49.915
86398 2018-03-01 23:59:58 +0000 49.917
86399 2018-03-01 23:59:59 +0000 49.917
86400 2018-03-02 00:00:00 +0000 49.915
Starting from the Initial values of df1, I Need to increase them by 1 each time that f>50 and decrease by 1 whenever f<50. The result should be another dataframe, with 1 row for each second, the relative value, and 1000 columns.
I have tried:
if (f.f>50).any():
df1=df1.apply(lambda x: ((f.f/f.f)*x+1).cumsum())
But it results just in a table with the first line correct and then NaN everywhere else in 86400 rows.
Any help? Thank you in advance
python pandas
I have a dataframe df1 with 1000 columns. In each column there is a random value. It looks like:
0 1 2 3 4 5 6 7 8 9 ... 990 991 992 993 994 995 996 997 998 999
0 23 15 4 4 23 0 38 14 11 14 ... 22 3 25 3 24 8 1 14 18 27
I have a second dataframe df2 with second-by-second values f that Looks like:
dtm f
0 2018-03-01 00:00:00 +0000 50.135
1 2018-03-01 00:00:01 +0000 50.130
2 2018-03-01 00:00:02 +0000 50.120
3 2018-03-01 00:00:03 +0000 50.112
4 2018-03-01 00:00:04 +0000 50.102
5 2018-03-01 00:00:05 +0000 50.097
6 2018-03-01 00:00:06 +0000 50.095
7 2018-03-01 00:00:07 +0000 50.095
8 2018-03-01 00:00:08 +0000 50.092
9 2018-03-01 00:00:09 +0000 50.095
10 2018-03-01 00:00:10 +0000 50.097
11 2018-03-01 00:00:11 +0000 50.097
12 2018-03-01 00:00:12 +0000 50.097
13 2018-03-01 00:00:13 +0000 50.100
14 2018-03-01 00:00:14 +0000 50.102
15 2018-03-01 00:00:15 +0000 50.105
16 2018-03-01 00:00:16 +0000 50.102
17 2018-03-01 00:00:17 +0000 50.102
18 2018-03-01 00:00:18 +0000 50.100
19 2018-03-01 00:00:19 +0000 50.100
20 2018-03-01 00:00:20 +0000 50.100
21 2018-03-01 00:00:21 +0000 50.097
22 2018-03-01 00:00:22 +0000 50.097
23 2018-03-01 00:00:23 +0000 50.095
24 2018-03-01 00:00:24 +0000 50.092
25 2018-03-01 00:00:25 +0000 50.090
26 2018-03-01 00:00:26 +0000 50.090
27 2018-03-01 00:00:27 +0000 50.087
28 2018-03-01 00:00:28 +0000 50.085
29 2018-03-01 00:00:29 +0000 50.082
... ... ...
86371 2018-03-01 23:59:31 +0000 49.925
86372 2018-03-01 23:59:32 +0000 49.925
86373 2018-03-01 23:59:33 +0000 49.925
86374 2018-03-01 23:59:34 +0000 49.927
86375 2018-03-01 23:59:35 +0000 49.927
86376 2018-03-01 23:59:36 +0000 49.930
86377 2018-03-01 23:59:37 +0000 49.930
86378 2018-03-01 23:59:38 +0000 49.930
86379 2018-03-01 23:59:39 +0000 49.930
86380 2018-03-01 23:59:40 +0000 49.930
86381 2018-03-01 23:59:41 +0000 49.930
86382 2018-03-01 23:59:42 +0000 49.930
86383 2018-03-01 23:59:43 +0000 49.927
86384 2018-03-01 23:59:44 +0000 49.925
86385 2018-03-01 23:59:45 +0000 49.925
86386 2018-03-01 23:59:46 +0000 49.920
86387 2018-03-01 23:59:47 +0000 49.920
86388 2018-03-01 23:59:48 +0000 49.920
86389 2018-03-01 23:59:49 +0000 49.920
86390 2018-03-01 23:59:50 +0000 49.920
86391 2018-03-01 23:59:51 +0000 49.917
86392 2018-03-01 23:59:52 +0000 49.917
86393 2018-03-01 23:59:53 +0000 49.915
86394 2018-03-01 23:59:54 +0000 49.915
86395 2018-03-01 23:59:55 +0000 49.915
86396 2018-03-01 23:59:56 +0000 49.912
86397 2018-03-01 23:59:57 +0000 49.915
86398 2018-03-01 23:59:58 +0000 49.917
86399 2018-03-01 23:59:59 +0000 49.917
86400 2018-03-02 00:00:00 +0000 49.915
Starting from the Initial values of df1, I Need to increase them by 1 each time that f>50 and decrease by 1 whenever f<50. The result should be another dataframe, with 1 row for each second, the relative value, and 1000 columns.
I have tried:
if (f.f>50).any():
df1=df1.apply(lambda x: ((f.f/f.f)*x+1).cumsum())
But it results just in a table with the first line correct and then NaN everywhere else in 86400 rows.
Any help? Thank you in advance
python pandas
python pandas
asked Nov 18 '18 at 19:06
Luca91
1728
1728
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Probably not the most memory-efficient solution...
# Preallocate the result DataFrame
res = pd.DataFrame(np.tile(df1, (len(df2), 1)))
# Compute a numpy array of corrections to add to each cell in `res`
mask = np.where(df2.f > 50, 1, -1)
adjust = np.tile(mask, (len(res), 1)).T.cumsum(axis=0)
# Add the adjustment array to the result DataFrame
res += adjust
+= adjust? it is not defined
– Luca91
Nov 19 '18 at 7:18
Argh, sorry, I missed a line - too late in the day. Edited my answer!
– Peter Leimbigler
Nov 19 '18 at 12:57
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53364464%2fpandas-how-to-apply-function-row-by-row-in-descening-order-to-multiple-columns%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Probably not the most memory-efficient solution...
# Preallocate the result DataFrame
res = pd.DataFrame(np.tile(df1, (len(df2), 1)))
# Compute a numpy array of corrections to add to each cell in `res`
mask = np.where(df2.f > 50, 1, -1)
adjust = np.tile(mask, (len(res), 1)).T.cumsum(axis=0)
# Add the adjustment array to the result DataFrame
res += adjust
+= adjust? it is not defined
– Luca91
Nov 19 '18 at 7:18
Argh, sorry, I missed a line - too late in the day. Edited my answer!
– Peter Leimbigler
Nov 19 '18 at 12:57
add a comment |
Probably not the most memory-efficient solution...
# Preallocate the result DataFrame
res = pd.DataFrame(np.tile(df1, (len(df2), 1)))
# Compute a numpy array of corrections to add to each cell in `res`
mask = np.where(df2.f > 50, 1, -1)
adjust = np.tile(mask, (len(res), 1)).T.cumsum(axis=0)
# Add the adjustment array to the result DataFrame
res += adjust
+= adjust? it is not defined
– Luca91
Nov 19 '18 at 7:18
Argh, sorry, I missed a line - too late in the day. Edited my answer!
– Peter Leimbigler
Nov 19 '18 at 12:57
add a comment |
Probably not the most memory-efficient solution...
# Preallocate the result DataFrame
res = pd.DataFrame(np.tile(df1, (len(df2), 1)))
# Compute a numpy array of corrections to add to each cell in `res`
mask = np.where(df2.f > 50, 1, -1)
adjust = np.tile(mask, (len(res), 1)).T.cumsum(axis=0)
# Add the adjustment array to the result DataFrame
res += adjust
Probably not the most memory-efficient solution...
# Preallocate the result DataFrame
res = pd.DataFrame(np.tile(df1, (len(df2), 1)))
# Compute a numpy array of corrections to add to each cell in `res`
mask = np.where(df2.f > 50, 1, -1)
adjust = np.tile(mask, (len(res), 1)).T.cumsum(axis=0)
# Add the adjustment array to the result DataFrame
res += adjust
edited Nov 19 '18 at 12:57
answered Nov 19 '18 at 0:12
Peter Leimbigler
3,7391415
3,7391415
+= adjust? it is not defined
– Luca91
Nov 19 '18 at 7:18
Argh, sorry, I missed a line - too late in the day. Edited my answer!
– Peter Leimbigler
Nov 19 '18 at 12:57
add a comment |
+= adjust? it is not defined
– Luca91
Nov 19 '18 at 7:18
Argh, sorry, I missed a line - too late in the day. Edited my answer!
– Peter Leimbigler
Nov 19 '18 at 12:57
+= adjust? it is not defined
– Luca91
Nov 19 '18 at 7:18
+= adjust? it is not defined
– Luca91
Nov 19 '18 at 7:18
Argh, sorry, I missed a line - too late in the day. Edited my answer!
– Peter Leimbigler
Nov 19 '18 at 12:57
Argh, sorry, I missed a line - too late in the day. Edited my answer!
– Peter Leimbigler
Nov 19 '18 at 12:57
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53364464%2fpandas-how-to-apply-function-row-by-row-in-descening-order-to-multiple-columns%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown