Issue
DataFrame stores NaNs instead of column of vectors
df = pd.DataFrame({"a": [1,2,3], "b": [4,5,6]}, index=["one", "two", "three"])
s = pd.Series([(i*10, i*11, i*12) for i in df["a"]], dtype=object)
Here the series is what I need it to be (contains a vectors). But putting it together it only stores NaNs
df.loc[:, "c"] = s
# a b c
#one 1 4 NaN
#two 2 5 NaN
#three 3 6 NaN
Solution
If indices are not exactly same in Series
and DataFrame
got NaNs, because indices don't align.
Solution is same indices in s.index
like df.index
:
s = pd.Series([v / np.linalg.norm(v) for v in maxShear_vec],dtype='object'),index=df.index)
df["maxShear_vec"] = s
Also I think dtype='object'
should be omited:
s = pd.Series([v / np.linalg.norm(v) for v in maxShear_vec],index=df.index)
df["maxShear_vec"] = s
Answered By - jezrael
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.