[英]Is it possible to convert a numpy array of strings to a pandas dataframe inplace?
As you can see, the array has been copied. 如您所见,该数组已被复制。
import pandas as pd
import numpy as np
foo = np.array([['a', 'b'],['c', 'd']],dtype='U32')
df_foo = pd.DataFrame(data=foo, copy=False)
foo[0,0]='different'
print(df_foo.values)
Returns 退货
[['a' 'b']
['c' 'd']]
Furthermore, foo
has dtype='<U32'
while df_foo.values
has dtype=object
. 此外,
foo
具有dtype='<U32'
而df_foo.values
具有df_foo.values
dtype=object
。 I don't need a solution to the problem, I'm more curious as to whether it's possible and if not, why not? 我不需要解决问题,我对是否有可能感到好奇,如果没有,为什么?
Yes, just remove copy=False and then it won't be a copy. 是的,只需删除copy = False,然后它就不会是副本。 So just replace
所以只要更换
df_foo = pd.DataFrame(data=foo, copy=False)
with 与
df_foo = pd.DataFrame(data=foo)
It worked for me. 它为我工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.