我有一个类似于这样的框架:
的数据
我想删除文本,只保留该框架中每列的数字。
预期的输出类似于这样:
的
到目前为止,我已经尝试了这个:
import json
import requests
import pandas as pd
URL = 'https://xxxxx.com'
req = requests.get(URL,auth=('xxx', 'xxx') )
text_data= req.text
json_dict= json.loads(text_data)
df = pd.DataFrame.from_dict(json_dict["measurements"])
cols_to_keep =['source','battery','c8y_TemperatureMeasurement','time','c8y_DistanceMeasurement']
df_final = df[cols_to_keep]
df_final = df_final.rename(columns={'c8y_TemperatureMeasurement': 'Temperature Or T','c8y_DistanceMeasurement':'Distance'})
for col in df_final:
df_final[col] = [''.join(re.findall("\d*\.?\d+", item)) for item in df_final[col]]
字符串
1条答案
按热度按时间xkrw2x1b1#
您的代码缺少 import pandas as pd,并且无法访问数据,因为它需要凭据。
可以使用pandas.DataFrame.replace:
示例数据:
字符串
数据框架:
型
[^0-9.]替换所有非数字字符。
型
输出量:
型
编辑:这里的问题实际上是关于嵌套的JSON,而不是关于替换框架中的值。上面的语句不起作用的原因是因为数据在框架中保存为dicts。但是由于上面提到的解决方案通常是正确的,它不会编辑它。
修改后的答案:
型
输出量:
型