Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在熊猫中通过数据帧进行线路操作_Python_Pandas_Dictionary_Dataframe - Fatal编程技术网

Python 在熊猫中通过数据帧进行线路操作

Python 在熊猫中通过数据帧进行线路操作,python,pandas,dictionary,dataframe,Python,Pandas,Dictionary,Dataframe,我想在Pandas 23.0中使用dataframe进行操作,但找不到最好的方法 我从CSV中提取一个带有时间和值的id,并打算计算每行的平均值(mean()) Example: id time value 1 22:10:01 10 2 22:10:02 20 3 22:10:03 30 2 22:10:04 40 1 22:10:05 50 It would be something like this: id time value mean 1 22:10:01 10 10 2 22:1

我想在Pandas 23.0中使用dataframe进行操作,但找不到最好的方法

我从CSV中提取一个带有时间和值的id,并打算计算每行的平均值(
mean()

Example:
id time value
1 22:10:01 10
2 22:10:02 20
3 22:10:03 30
2 22:10:04 40
1 22:10:05 50

It would be something like this:
id time value mean
1 22:10:01 10 10
2 22:10:02 20 20
3 22:10:03 30 30
2 22:10:04 40 30 ((40 + 20) / 2)
1 22:10:05 50 30 ((50 + 10) / 2)
考虑到第一种手段是价值本身

我已经使用辅助词典找到了一个解决方案:

dat = pd.read_csv ('file.csv')
dicc = {}

for row in dat.itertuples ():
    ids = row [1]
    values = row [3]
    timestamps = row [2]

    if ids in dicc
        dicc [ids]['id'].append(ids)
        dicc [ids]['value'].append(values)
        dicc [ids]['mean'].append((dicc[ids]['mean'][- 1]+values)/2)
    else:
        dicc [ids] = {
            'sensor_id': [ids],
            'timestamp': [timestamps],
            'mean': [values]

df2 = pd.DataFrame.from_dict(data=dicc)
df2.to_csv('file2.csv')
基本上,我所做的是填写字典,知道id是否已经出现

如果尝试用平均值列创建一个新的df,以测试定时:

last=len(datos.columns)
df=pd.DataFrame(data=dat, columns=dat.keys()) 
df.insert(loc=last, column='mean', value=None)
但是我找不到在您可以使用的数据帧中执行该过程的方法


如我所见,这不能通过id给出平均结果。轴0或1为和类似df.groupby(['id']][value].mean()的
进行平均
df.mean(axis=1)