问题使用Dataframe中的现有列分配列值-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

问题使用Dataframe中的现有列分配列值

2019-01-18 11:27:03 1352 1

我正在尝试在数据框中创建一个新列,该列根据另一列中的值分配值。我正在使用的代码分配值,但不是我想要的。
代码示例如下:

#define track styles
short = [4,6,8,9,11,20,24,28,30,33,35]
inter = [2,3,7,12,13,17,19,25,27,32,34,36]
long = [5,14,15,21,23,26]
plate = [1,10,18,31]
road = [16,22,29]

#input driver and stat info
driver1 = input('Choose driver: ')

#read driver data to dataframe
df = pd.read_csv(driver1 + '_2018.csv')

#add track type
df['Type'] = ''

for i in range(len(df)):

if df['Race'][i] in short:
    df['Type'][i] = 'short'
elif df['Race'][i] in inter:
    df['Type'] = 'intermediate'
elif df['Race'][i] in long:
    df['Type'] = 'long'
elif df['Race'][i] in plate:
    df['Type'] = 'plate'
else:
    df['Type'] = 'road'

print(df.head())
我得到以下输出:

C:EclipseWorkspacecsse120PersonalNASCAR_ProjectsOtherdriver_review.py:45: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
df'Type' = 'short'
Race Start Mid Race ... Total Laps DRIVER RATING Type
0 1 5 23 ... 207 105.2 intermediate
1 2 16 7 ... 325 94.2 intermediate
2 3 10 2 ... 267 106.1 intermediate
3 4 5 11 ... 311 80.0 intermediate
4 5 6 3 ... 200 113.0 intermediate

[5 rows x 20 columns]
请注意,'Type'列将返回所有'intermediate',它应包括['plate','intermediate','intermediate','short','long']。

取消 提交回答
全部回答(1)
  • 一码平川MACHEL
    2019-07-17 23:25:53

    使用:

    d = {'short':short,

     'intermediate':inter,
     'long':long,
     'plate':plate,
     'road':road}
    

    d1 = {k: oldk for oldk, oldv in d.items() for k in oldv}
    df['Type'] = df['Race'].map(d1)

    0 0
相关问答

1

回答

DataFrame 可以使用列索引做什么呢?

2022-07-21 22:18:43 92浏览量 回答数 1

1

回答

Spark MLlib中的DataFrame的作用是什么?

2021-12-09 20:22:16 114浏览量 回答数 1

1

回答

如何格式化dataframe的值?

2021-12-05 20:19:35 121浏览量 回答数 1

1

回答

dataframe中如何用平均值替换相应列的缺失值?

2021-12-05 20:14:47 111浏览量 回答数 1

1

回答

如何以dataframe的形式选择特定的列?

2021-12-05 20:17:42 120浏览量 回答数 1

1

回答

dataframe中如何获得dataframe中单一值的频数?

2021-12-05 20:42:25 90浏览量 回答数 1

1

回答

DataFrame索引可以按照什么进行列索引?

2021-11-29 22:56:23 92浏览量 回答数 1

1

回答

使用Pandas Dataframe列中的字典对象重新分配子字符串

2020-03-24 14:24:08 321浏览量 回答数 1

1

回答

在阿里云上新建了ECS服务器,使用二级域名接入,提示域名未备案。

2018-08-21 12:33:17 612浏览量 回答数 1

1

回答

使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践

2016-07-02 20:26:37 3328浏览量 回答数 1
47
文章
723
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载