繁体   English   中英

如何使用 loc 或 iloc 更改特定的 dataframe 列值

[英]How to change specific dataframe column values using loc or iloc

我愚蠢地将我的 dataframe 中的 al 值替换为True ,而没有意识到一列是交易编号。 有没有办法可以在单个列中找到 5 个值并将它们全部从 true 更改回 1、2、3、4 和 5?

df_bdPivot = pd.read_csv("BreadBasket_DMS_pivot.csv")
df_bdPivot.fillna(False, inplace=True)
df_bdPivot.replace(1, True, regex=True, inplace=True)
df_bdPivot.replace(2, True, regex=True, inplace=True)
df_bdPivot.replace(3, True, regex=True, inplace=True)
df_bdPivot.replace(4, True, regex=True, inplace=True)

如果有一种方法可以在不调整我需要保持不变的列的情况下完成我所做的事情,请告诉我。

尝试这个:

df_bdPivot[(df_bdPivot > 0) & (df_bdPivot < 6)] = True

这样做是什么,它需要两个掩码df_bdPivot > 0df_bdPivot < 6 ),并将它们连接在一起& ,并将生成的掩码用于 dataframe 中的 select 值,然后将True分配给这些值。

掩码只是 dataframe 的副本,只是它没有值,只有True值或False值。 这两个掩码分别是大于 0 和小于 6 的 select 值(所以从 1 到 5)。 &创建一个新的掩码,对于每个值,如果两个数据框中的值都是True ,则为True ,否则为False

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM