t-test vs Mann–Whitney U test strongly differ in p-value I have a time series that is quite erratic, having lots of small increases and then large drops. I want to see if the mean is statistically significantly different to zero. 
Using a t-test, I get a p-value of around 0.6, but using a wilcoxon ranksum test I get a p value of 0.0001. 
How is this possible? I think the p-value of the t-test makes much more sense as I have only around 500 sample values, most of then +2 and some of them -200 so that the cumulative return of all of them is around 274. It should not be statistically significantly different to zero. Why does the ranksum test say otherwise? Why does it differ so much from the t-test?
df['returns'].fillna(0).std()
23.348037669415067
df['returns'].fillna(0).var()
545.1308630124249
df['returns'].fillna(0).mean()
0.5494399999999998
df['returns'].fillna(0).min()
-274.0
df['returns'].fillna(0).max()
93.04
df['returns'].fillna(0).median()
4.0
last value of cumsum: 
274.72

stat, p_stat = ranksums(df['returns'].fillna(0).values, np.zeros(len(df['returns'].values)))
p_stat
2.9026104353437864e-32
stat, p_stat = ttest_ind(df['returns'].fillna(0).values, np.zeros(len(df['returns'].values)))
p_stat
0.598862760915118

The p_stat of the t-test is 0.6, but the p_stat of the ranksums is 2.9e-32. How can that be? For t-test I'm using scipy.stats.ttest_ind and for ranksums I use scipy.stats.ranksums.
 A: I am assuming you are trying to see if the mean of all data points in one sample over the time series is different from 0.
The choice of whether to use the t-test or the Mann-Whitney U test depends on how the data is distributed. The t-test is for normally-distributed data. The Mann-Whitney test is more general in that it can be applied to both normally and non-normally distributed data under more relaxed conditions (see https://en.wikipedia.org/wiki/Mann%E2%80%93Whitney_U_test). From the description but having not seen the data, having a series of small increases and then large drops would suggest to me it is non-normal since I can't picture the data scattered around one mean with the bulk of the other data points distributed around the mean in a certain standard deviation. But without seeing the data in question or any other visualizations (e.g., a QQ-plot) it is hard to say definitively. 
So you just need to decide whether the data is normally distributed or not when evaluating which test appears more appropriate. From what I remember, the Mann-Whitney U test result is fairly consistent with the t-test result when the data is normally distributed, so any deviations for large sample sizes between the two may imply the data is not normally distributed. But overall, if "most of then [values are] +2 and some of them -200", that would suggest to me that the mean isn't at 0.
