- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 .txt 文件,我需要对其进行异常值删除。该文件如下所示:
{"mille":"802821", "type":"tc", "test":"mod6", "hrow":"C", "pcnt":"1", "pid":"0", "pidx":"0", "act":"DOWN-1ST", "x":"557.00", "y":"1043.00", "size":"0.3333", "press":"0.6000", "vx":"0.0007", "vy":"0.0013"}
{"mille":"802821", "type":"tc", "test":"mod6", "hrow":"C", "pcnt":"2", "pid":"0", "pidx":"0", "act":"DOWN-P2", "x":"557.00", "y":"1043.00", "size":"0.3333", "press":"0.6000", "vx":"NaN", "vy":"NaN"}
{"mille":"802821", "type":"tc", "test":"mod6", "hrow":"C", "pcnt":"2", "pid":"1", "pidx":"1", "act":"DOWN-P2", "x":"641.00", "y":"754.00", "size":"0.2000", "press":"0.5500", "vx":"Infinity", "vy":"-Infinity"}
{"mille":"802837", "type":"th", "test":"mod6", "hrow":"0", "pcnt":"2", "pid":"0", "pidx":"0", "act":"MOVE", "x":"556.00", "y":"1043.00", "size":"0.3333", "press":"0.6000", "vx":"-5.3125", "vy":"18.0625"}
{"mille":"802837", "type":"th", "test":"mod6", "hrow":"0", "pcnt":"2", "pid":"1", "pidx":"1", "act":"MOVE", "x":"641.00", "y":"754.00", "size":"0.2000", "press":"0.5500", "vx":"5.3125", "vy":"-18.0625"}
{"mille":"802846", "type":"th", "test":"mod6", "hrow":"1", "pcnt":"2", "pid":"0", "pidx":"0", "act":"MOVE", "x":"555.00", "y":"1044.00", "size":"0.3333", "press":"0.6000", "vx":"-3.4400", "vy":"11.6000"}
{"mille":"802846", "type":"th", "test":"mod6", "hrow":"1", "pcnt":"2", "pid":"1", "pidx":"1", "act":"MOVE", "x":"641.00", "y":"754.00", "size":"0.2000", "press":"0.5500", "vx":"3.4400", "vy":"-11.6000"}
{"mille":"802854", "type":"th", "test":"mod6", "hrow":"2", "pcnt":"2", "pid":"0", "pidx":"0", "act":"MOVE", "x":"554.00", "y":"1045.00", "size":"0.3333", "press":"0.6000", "vx":"-2.6364", "vy":"8.8182"}
{"mille":"802854", "type":"th", "test":"mod6", "hrow":"2", "pcnt":"2", "pid":"1", "pidx":"1", "act":"MOVE", "x":"641.00", "y":"754.00", "size":"0.2000", "press":"0.5500", "vx":"2.6364", "vy":"-8.8182"}
{"mille":"802863", "type":"th", "test":"mod6", "hrow":"3", "pcnt":"2", "pid":"0", "pidx":"0", "act":"MOVE", "x":"553.00", "y":"1047.00", "size":"0.3333", "press":"0.6125", "vx":"-2.0952", "vy":"6.9762"}
................(每个文件中还有很多这样的行,我有几个文件)
(注意原文文件中每两个{}之间没有空格)
我使用 read_txt() 函数将其读入数据帧并完成异常值删除。现在我需要将它读回与以前格式完全相同的文本文件。
这是我的代码:
path = 'c:/Users/USER/.spyder-py3/machine-learning/data2/test/*.txt'
filelist = glob.glob(path, recursive = True)
for i in range(0,3):
df = pd.read_json(filelist[i], lines=True)
outlier_x = df['x'].mean() + df['x'].std() * 3
outlier_x2 = df['x'].mean() - df['x'].std() * 3
outlier_y = df['y'].mean() + df['y'].std() * 3
outlier_y2 = df['y'].mean() - df['y'].std() * 3
outlier_vx = df['vx'].mean() + df['vx'].std() * 3
outlier_vx2 = df['vx'].mean() - df['vx'].std() * 3
outlier_vy = df['vy'].mean() + df['vy'].std() * 3
outlier_vy2 = df['vy'].mean() - df['vy'].std() * 3
outlier_pr = df['press'].mean() + df['press'].std() * 3
outlier_pr2 = df['press'].mean() - df['press'].std() * 3
outlier_sz = df['size'].mean() + df['size'].std() * 3
outlier_sz2 = df['size'].mean() - df['size'].std() * 3
df.drop(['act1','act2','size1','size2','x1','x2','y1','y2'],axis = 1,
inplace = True)
df = df[['mille','type','test','xfocus','yfocus','span','sfact','hrow',
'pcnt','pid','pidx','act','x','y','size','press','vx','vy']]
# remove ouliers for column 'x'
df = df.drop(df[((df['x'] > outlier_x) & (df['act'] == 'MOVE'))].index)
df = df.drop(df[((df['x'] < outlier_x2) & (df['act'] == 'MOVE'))].index)
# remove ouliers for column 'y'
df = df.drop(df[((df['y'] > outlier_y) & (df['act'] == 'MOVE'))].index)
df = df.drop(df[((df['y'] < outlier_y2) & (df['act'] == 'MOVE'))].index)
# remove part of the infinite values from column 'vx'
df = df.drop(df[(((df['vx'] == np.inf) & (df['act'] == 'MOVE')))].index)
df = df.drop(df[(((df['vx'] == -np.inf) & (df['act'] == 'MOVE')))].index)
# replace infinit with NAN
df['vx'] = df['vx'].replace([np.inf,-np.inf],df['vx'].mean())
# remove ouliers from column 'vx'
df = df.drop(df[((df['vx'] > outlier_vx) & (df['act'] == 'MOVE'))].index)
df = df.drop(df[((df['vx'] < outlier_vx2) & (df['act'] == 'MOVE'))].index)
# replace infinit with NAN
df['vy'] = df['vy'].replace([np.inf,-np.inf],df['vy'].mean())
# fill na with '0' in columns 'vx'
df['vx'] = df['vx'].fillna(0.0)
# fill na with '0' in columns 'vy'
df['vy'] = df['vy'].fillna(0.0)
# remove outliers from column 'vy'
df = df.drop(df[((df['vy'] > outlier_vy) & (df['act'] == 'MOVE'))].index)
df = df.drop(df[((df['vy'] < outlier_vy2) & (df['act'] == 'MOVE'))].index)
# remove outliers from column 'press'
df = df.drop(df[((df['press'] > outlier_pr) & (df['act'] == 'MOVE'))].index)
df = df.drop(df[((df['press'] < outlier_pr2) & (df['act'] ==
'MOVE'))].index)
# remove outliers from column 'size'
df = df.drop(df[((df['size'] > outlier_sz) & (df['act'] == 'MOVE'))].index)
df = df.drop(df[((df['size'] < outlier_sz2) & (df['act'] == 'MOVE'))].index)
df.loc[df.xfocus.notnull(), ['vx','vy']] = np.nan,np.nan
col_select = ['mille','type','test','xfocus','yfocus','span','sfact','hrow',
'pcnt','pid','pidx','act','x','y','size','press','vx','vy']
# modify dataframe to propriate json format
jsonresult = df.to_json(orient='records')
# read the json string to get a list of dictionaries
rows = json.loads(jsonresult)
# remove some null values
new_rows = [OrderedDict([(key, row[key]) for key in col_select if (key in
row) and pd.notnull(row[key])])for row in rows]
jsonfile = json.dump(new_rows)
#save them into destination
outfile = "c:/Users/USER/.spyder-py3/machine-
learning/data2/testresult/user_" + str(i) + "_mod6.txt"
thefile = open(outfile, 'w')
json_output = jsonfile.strip("[]").split('},')
for i in range(len(json_output)):
json_output[i] = json_output[i] + '}'
for item in json_output:
thefile.write("%s\n" % item)
我试图得到一个和原始文件一样的 txt 文件,outpur 看起来确实很相似。但是,当我尝试读取清理后的 txt 文件并对其进行其他操作时,出现如下错误:JSONDecodeError: Extra data: line 1 column 201 (char 200)。整个错误信息如下:
---------------------------------------------------------------------------
JSONDecodeError Traceback (most recent call last)
<ipython-input-7-a2c25911084b> in <module>()
2321 print('-----------------------test where am I--------------------------------')
2322 for line in file_object:
-> 2323 jrecord = json.loads(line)
2324 try:
2325 typ = jrecord['type']
~\Anaconda3\lib\json\__init__.py in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
352 parse_int is None and parse_float is None and
353 parse_constant is None and object_pairs_hook is None and not kw):
--> 354 return _default_decoder.decode(s)
355 if cls is None:
356 cls = JSONDecoder
~\Anaconda3\lib\json\decoder.py in decode(self, s, _w)
340 end = _w(s, end).end()
341 if end != len(s):
--> 342 raise JSONDecodeError("Extra data", s, end)
343 return obj
344
JSONDecodeError: Extra data: line 1 column 201 (char 200)
我在处理未清理的.txt文件时没有出现这个错误。所以很明显,当我写回数据时出了点问题。现在我被困在这里,不知道我能做些什么来继续前进。有人可以帮帮我吗?提前致谢!
最佳答案
您应该能够使用 df.to_json(outfile, orient='records', lines=True)
关于Python:将.txt文件读入数据框并写回文件后无法获取原始格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53286920/
初学者 android 问题。好的,我已经成功写入文件。例如。 //获取文件名 String filename = getResources().getString(R.string.filename
我已经将相同的图像保存到/data/data/mypackage/img/中,现在我想显示这个全屏,我曾尝试使用 ACTION_VIEW 来显示 android 标准程序,但它不是从/data/dat
我正在使用Xcode 9,Swift 4。 我正在尝试使用以下代码从URL在ImageView中显示图像: func getImageFromUrl(sourceUrl: String) -> UII
我的 Ubuntu 安装 genymotion 有问题。主要是我无法调试我的数据库,因为通过 eclipse 中的 DBMS 和 shell 中的 adb 我无法查看/data/文件夹的内容。没有显示
我正在尝试用 PHP 发布一些 JSON 数据。但是出了点问题。 这是我的 html -- {% for x in sets %}
我观察到两种方法的结果不同。为什么是这样?我知道 lm 上发生了什么,但无法弄清楚 tslm 上发生了什么。 > library(forecast) > set.seed(2) > tts lm(t
我不确定为什么会这样!我有一个由 spring data elasticsearch 和 spring data jpa 使用的类,但是当我尝试运行我的应用程序时出现错误。 Error creatin
在 this vega 图表,如果我下载并转换 flare-dependencies.json使用以下 jq 到 csv命令, jq -r '(map(keys) | add | unique) as
我正在提交一个项目,我必须在其中创建一个带有表的 mysql 数据库。一切都在我这边进行,所以我只想检查如何将我所有的压缩文件发送给使用不同计算机的人。基本上,我如何为另一台计算机创建我的数据库文件,
我有一个应用程序可以将文本文件写入内部存储。我想仔细看看我的电脑。 我运行了 Toast.makeText 来显示路径,它说:/数据/数据/我的包 但是当我转到 Android Studio 的 An
我喜欢使用 Genymotion 模拟器以如此出色的速度加载 Android。它有非常好的速度,但仍然有一些不稳定的性能。 如何从 Eclipse 中的文件资源管理器访问 Genymotion 模拟器
我需要更改 Silverlight 中文本框的格式。数据通过 MVVM 绑定(bind)。 例如,有一个 int 属性,我将 1 添加到 setter 中的值并调用 OnPropertyChanged
我想向 Youtube Data API 提出请求,但我不需要访问任何用户信息。我只想浏览公共(public)视频并根据搜索词显示视频。 我可以在未经授权的情况下这样做吗? 最佳答案 YouTube
我已经设置了一个 Twilio 应用程序,我想向人们发送更新,但我不想回复单个文本。我只是想让他们在有问题时打电话。我一切正常,但我想在发送文本时显示传入文本,以确保我不会错过任何问题。我正在使用 p
我有一个带有表单的网站(目前它是纯 HTML,但我们正在切换到 JQuery)。流程是这样的: 接受用户的输入 --- 5 个整数 通过 REST 调用网络服务 在服务器端运行一些计算...并生成一个
假设我们有一个名为 configuration.js 的文件,当我们查看内部时,我们会看到: 'use strict'; var profile = { "project": "%Projec
这部分是对 Previous Question 的扩展我的: 我现在可以从我的 CI Controller 成功返回 JSON 数据,它返回: {"results":[{"id":"1","Sourc
有什么有效的方法可以删除 ios 中 CBL 的所有文档存储?我对此有疑问,或者,如果有人知道如何从本质上使该应用程序像刚刚安装一样,那也会非常有帮助。我们正在努力确保我们的注销实际上将应用程序设置为
我有一个 Rails 应用程序,它与其他 Rails 应用程序通信以进行数据插入。我使用 jQuery $.post 方法进行数据插入。对于插入,我的其他 Rails 应用程序显示 200 OK。但在
我正在为服务于发布请求的 API 调用运行单元测试。我正在传递请求正文,并且必须将响应作为帐户数据返回。但我只收到断言错误 注意:数据是从 Azure 中获取的 spec.js const accou
我是一名优秀的程序员,十分优秀!