Correlation between a pandas Series and a whole DataFrame

You need same index of Series as columns of DataFrame for align Series by DataFrame and add axis=1 in corrwith for row-wise correlation:

s1 = pd.Series(s.values, index=df.columns)
print (s1)
a    -1
b     5
c     0
d     0
e    10
f     0
g    -7
dtype: int64

print (df.corrwith(s1, axis=1))
0   -0.166667
1    0.839146
2   -0.353553
dtype: float64

print (df.corrwith(pd.Series(v, index=df.columns), axis=1))
0   -0.166667
1    0.839146
2   -0.353553
dtype: float64

EDIT:

You can specify columns and use subset:

cols = ['a','b','e']

print (df[cols])
   a  b  e
0  1  0  0
1  0  1  1
2  1  1  0

print (df[cols].corrwith(pd.Series(v, index=df.columns), axis=1))
0   -0.891042
1    0.891042
2   -0.838628
dtype: float64