我有一个包含numpy数组的数据框。
我将其保存到一个csv文件中。
加载csv文件后,我发现包含numpy数组的列具有dtype字符串。
如何使用read_csv
将其转换为numpy数组?
import pandas as pd
import numpy as np
df = pd.DataFrame(columns = ['name', 'sex'])
df.loc[len(df), :] = ['Sam', 'M']
df.loc[len(df), :] = ['Mary', 'F']
df.loc[len(df), :] = ['Ann', 'F']
#insert np.array
df['data'] = ''
df['data'][0] = np.array([2,5,7])
df['data'][1] = np.array([6,4,8])
df['data'][2] = np.array([9,2,1])
#save to csv file
df.to_csv('data.csv', index =False)
#load csv file
df2 = pd.read_csv('data.csv')#data column becomes string, how to change it to np.array?
答案 0 :(得分:1)
一种解决方法:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Address = "$B$2" Then
Exit Sub
End If
Dim ToFind
Dim Found
ToFind = Sheets("Sheet1").Range("B2").Value
Set Found = Sheets("Sheet2").Range("A1", "E300").Find(ToFind, LookIn:=xlValues)
If Not Found Is Nothing Then
Found.Resize(18, 5).Copy
Sheets("Sheet2").Range("I3").PasteSpecial (xlPasteValues)
End If
End Sub
答案 1 :(得分:0)
Pandas只有7种数据类型:Object,float,int,bool,datetime,timedelta和category。因此,列表,字符串,数组等仅被视为对象数据类型。您可以在http://pbpython.com/pandas_dtypes.html中了解更多信息 您只能使用astype函数在这些数据类型之间进行转换。