我正尝试将pd.Series中的整数值替换为其他整数值,如下所示。我正在使用类似dict的替换:
ser_list = [pd.Series([65, 1, 0, 0, 1]), pd.Series([0, 62, 1, 1, 0])]
for ser in ser_list:
ser.replace({65: 10, 62: 20})
我期待结果:
[10, 1, 0, 0, 1] # first series in the list
[0, 20, 1, 1, 0] # second series in the list
在第一个系列中,应将65替换为10,在第二个系列中应将62替换为20。
但是,在此代码中,它返回了原始序列而没有任何替换。有什么线索吗?
答案 0 :(得分:4)
可以通过if
:
ionic cordova build android --prod --release
但不建议像评论中提到的@Dan一样-link:
pandas核心团队不鼓励使用 inplace 参数,最终将不推荐使用该参数(这意味着“计划从库中删除”)。原因如下:
就地在方法链中不起作用。
与名称所暗示的相反,使用 inplace 通常不会阻止创建副本。
删除 inplace 选项将降低熊猫代码库的复杂性。
或分配给列表理解中的相同变量:
@Bean
@ConditionalOnProperty(
name = "usemysql",
havingValue = "local")
@ConditionalOnMissingBean
public DataSource dataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/myDb?createDatabaseIfNotExist=true");
dataSource.setUsername("mysqluser");
dataSource.setPassword("mysqlpass");
return dataSource;
}
可以通过添加到新列表并分配回去来实现循环解决方案:
inplace=True
答案 1 :(得分:1)
我们还可以将using System;
与Series.map
和fillna
结合使用:
list comprehension