我有一个数据帧列,使用pd.read_csv
从csv文件读入。当我查看数字时,他们看起来都像:
df['Amount'][0]
Out[4]: '\xa3128.23'
他们已经为\xa3
预先准备好了,因此也不会被解释为花车。
如何剥离\xa3
并使它们浮动?
答案 0 :(得分:4)
我认为需要replace
:
df['Amount'].str.replace('\xa3', '').astype(float)
£
或df['Amount'].str.lstrip('£').astype(float)
:
df = pd.read_csv("your_data_set_path", encoding='utf-8')
由于@csevier指出似乎编码问题,解决方法是:
df['Amount'] = df['Amount'].str.lstrip('£').astype(float)
然后:
String path= Environment.getExternalStorageDirectory()+File.separator+"Cloud_data"+File.separator+"Images";
file= new File(path);
if(!file.isDirectory())
{
file.mkdirs();
}
storageReference2.getFile(file)
.addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
@Override
public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
Toast.makeText(DownloadFiles.this, "path"+file, Toast.LENGTH_LONG).show();
text1.setText(String.valueOf(file)+"."+taskSnapshot.getStorage());
Toast.makeText(DownloadFiles.this, "File Downloaded Successfully", Toast.LENGTH_SHORT).show();
}
})
.addOnProgressListener(new OnProgressListener<FileDownloadTask.TaskSnapshot>() {
@Override
public void onProgress(FileDownloadTask.TaskSnapshot taskSnapshot) {
double progress=(100.0*taskSnapshot.getBytesTransferred()/taskSnapshot.getTotalByteCount());
Toast.makeText(DownloadFiles.this, "Progress: "+(int)progress+"%", Toast.LENGTH_SHORT).show();
}
});
答案 1 :(得分:1)
正如@jezrael和我正在讨论他的回答一样,用pandas处理导入时的编码可能会更好,而不是循环剥离结果。这是因为额外的循环不能很好地扩展到更大的数据集,并且可能导致一些缓慢的运行时间。
pd.read_csv("your_data_set_path", encoding='utf-8') #use appropriate encoding.