Dataframe、ndarray、list相互转换

该代码计算了'3_500.csv'文件中特定时间戳内两组数据点的欧氏距离总和,并将结果进行了平均。数据经过numpy和pandas处理,包括DataFrame与ndarray之间的转换,最后输出了距离和平均距离。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# -*- coding:utf-8 -*-
"""
作者:sunli
日期:2022年05月10日16:13
"""

import numpy as np
import pandas as pd

p = [[] for i in range(10)] #构建10个元素的列表
 
period = [[[] for i in range(3)] for i in range(10)]

path = 'D:/Fall_dataset/MobiAct_Dataset_v2.0/zhouqi/data/3_500.csv'
timestamp = 72
time = 100
data = pd.read_csv(path)
data = data.iloc[:, :3]
data1 = data.iloc[time + 1 - timestamp:time + 1, :]
data2 = data.iloc[time:time + timestamp, :]

vec1 = np.array(data1)  # DataFrame装换为ndarray
vec2 = np.array(data2)
data1 = vec1.tolist()  # ndarray转换为list
data2 = vec2.tolist()

distance_sum = 0
for i in range(timestamp):
    vec1 = np.array(data1[i])  # list转换为ndarray
    vec2 = np.array(data2[i])
    distance = np.sqrt(np.sum(np.square(vec1 - vec2)))
    distance_sum = distance_sum + distance
    print(distance)
print(distance_sum)
print(distance_sum/timestamp)

d=np.array([1, 2, 3,4,5 ])
print d
e=d.tolist()             # ndarray转换为list 
print e


data = {‘key1’: values, ‘key2’:values, ‘key3’:values, …, ‘keyN’:values}
df = pd.DataFrame(data)   #字典转化为dataframe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值