首页 > 解决方案 > 如何使用熊猫在excel中随机放置数字、字符串

问题描述

我在excel中有3000行数据

id,product,store,revenue,data,state
1,Ball,,222,nil,,
1,Pen,,234,nil,nil,,
2,Books,,543,nil,,
2,Ink,,123,nil,,

我的代码每次都给出 1,df['store'] = df['store'].fillna(random.randint(1,5))

country如果第 5 列中的“CA”、“CH”映射到美国,“WD”、“AL”映射到日本, 我需要创建第 6列{'CA':'USA', 'CH':'USA', 'AL':'Japan'}

标签: pandas

解决方案


让我们试试

n=len(df)
num=np.random.randint(1,6,size=n)
l={'CA', 'WD','CH', 'AL'}
state=np.random.choice(list(l), n)

df['store'] = df['store'].fillna(pd.Series(num,index=df.index))
df['state'] = df['state'].fillna(pd.Series(state,index=df.index))
df['country']=df.state.map({'CA':'USA', 'CH':'USA', 'AL':'Japan'})

推荐阅读