如何解决将基于统计的新列添加到数据框
这是我的第一个问题。我想建立一个统计模型。我有一个数据,我想在此数据框中添加一列。我希望此列显示一些统计数据。 例如我的数据框是这样的
例如,我要添加一个新列。我希望此列显示“红色汽车女孩”的D值大于所有汽车D的平均值。我该怎么做?我应该使用哪种方法来建立此统计模型。我拥有大量数据,无法手动计算所有汽车或自行车的均值。我需要一个带有if-else语句的函数,并添加一列来描述该行的D大于或小于平均值。
我的代码是这样的,但是我得到了关键错误0。
API_URL=${api_url}
解决方法
使用Zeros[K][1] = Sum(Ones[K-1][C=1..T-1])
for C in 2..D-1:
Zeros[K][C] = Zeros[K-1][C-1]
Ones[K][1] = Sum(Zeros[K-1][C=1..T-1])
for C in 2..T-1:
Ones[K][C] = Ones[K-1][C-1]
库可以公平地实现。假设您的Zeros[2][D]
存储在变量 headers = {
'Accept': 'application/json',}
params = (
('blockNum',i),)
response = requests.get('https://xapi.esteem.app/get_block',headers=headers,params=params)
data= response.json()
file.write(data)
file.write('\n')
中。
第1步-计算列的平均值
第2步-获取列值大于列均值的索引
第3步-将这些索引中的“值”设置为“真”
pandas
编辑1
-
将单个均值存储在字典中
-
分别计算值大于平均值的相应索引
-
将索引设置为
DataFrame
df
输出
mean_D=df.loc[:,"D"].mean()
df.loc[:,"E"]=False #Set Initially to 'False' implying D's mean is less than column mean
indices=df[df.loc[:,"D"]>mean_D].index
df.loc[indices,"E"]=True
True
from collections import defaultdict
df=pd.DataFrame({"A":['car','car','bike','bike'],"B":['red','red','blue','black','white','red'],"C":['girl','boy','girl','girl'],"D":[8,7,6,9,10,7]})
dict_car_bike=defaultdict(list)
for i,temp in df.groupby("A"):
dict_car_bike[temp.loc[:,"A"].unique()[0]]=temp.loc[:,"D"].mean()
dict_car_bike=dict(dict_car_bike)
df.loc[:,"E"]=False #Set Initially to 'False' implying D's mean is less than column mean
indices_0=df[(df.A.astype(str)==list(dict_car_bike.keys())[0]) & (df.D>dict_car_bike[list(dict_car_bike.keys())[0]])].index
indices_1=df[(df.A==list(dict_car_bike.keys())[1]) & (df.D>dict_car_bike[list(dict_car_bike.keys())[1]])].index
df.loc[indices_0,"E"]=True
df.loc[indices_1,"E"]=True
Output DataFrame
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。