简体   繁体   English

是否可以将numpy字符串数组转换为就地熊猫数据框?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM