将列与整数和字符串相乘
Multiply columns with both integers and strings
我有一个包含 50 多列的大型 DataFrame。我想将每一列乘以另一列,但是数据中存在一些字符串。
df[df.loc[:, df.columns != "Total Balance"].columns].multiply(df["Total Balance"], axis="index")
df.loc[:, df.columns != "Total Balance"
操作是为了让我不用自己乘以总余额。
我的问题是 DataFrame 中的一些元素是字符串,因此我收到错误:
TypeError: can't multiply sequence by non-int of type 'float'
当一个整数乘以一个字符串时,我希望 Dataframe 用 NaN 填充那个位置。我检查了文档,没有内置的默认参数。有什么建议吗?
添加它以将您的数据框强制转换为数字 table,并将字符串替换为 NaN(除非它们是可以转换为数字的字符串,例如 "5.0"
)
df = df.apply(pd.to_numeric, errors='coerce')
那就随心所欲吧
我有一个包含 50 多列的大型 DataFrame。我想将每一列乘以另一列,但是数据中存在一些字符串。
df[df.loc[:, df.columns != "Total Balance"].columns].multiply(df["Total Balance"], axis="index")
df.loc[:, df.columns != "Total Balance"
操作是为了让我不用自己乘以总余额。
我的问题是 DataFrame 中的一些元素是字符串,因此我收到错误:
TypeError: can't multiply sequence by non-int of type 'float'
当一个整数乘以一个字符串时,我希望 Dataframe 用 NaN 填充那个位置。我检查了文档,没有内置的默认参数。有什么建议吗?
添加它以将您的数据框强制转换为数字 table,并将字符串替换为 NaN(除非它们是可以转换为数字的字符串,例如 "5.0"
)
df = df.apply(pd.to_numeric, errors='coerce')
那就随心所欲吧