如何更改 pandas 中数据框中的列值?
How to change column values in dataframe in pandas?
我正在尝试修改数据框[列]中的值。我正在使用 slugify 来更改列中的值。
df[column][0] = "Hello-World"
df[column][1] = "Hi There!"
df[column] type is series
slugify 后的预期值
df[column][0] = "hello-world"
df[column][1] = "hi_there"
我尝试了几次迭代,但无法使其正常工作
df[column_name] = slugify.slugify(str(df[column_name]))
以上结果将所有值串联成一个长字符串并分配给列中的每一行。
我也尝试了以下方法,但得到的结果与上面相同。
df[column_name] = slugify.slugify((df[column_name].to_string(index=False,header=False)))
关于如何对列中的每个值应用 slugify 的任何建议。
谢谢
你能试试吗
from slugify import slugify
df['column_name'] = df['column'].apply(lambda x :slugify(x))
你可以直接apply
slugify
函数
df.column1.apply(slugify.slugify)
在你的情况下会产生
0 hello-world
1 hi-there
Name: column1, dtype: object
你最初的尝试
slugify.slugify(str(df[column_name]))
显然行不通,因为 str(df[column_name])
会生成整个列的字符串表示形式,然后将其进行 slugified。
我会给你一个更好的答案。
更好,因为不需要外部库。
df['col'] = df.col.replace(' ','-',regex=True)
regex=True 是诀窍
我正在尝试修改数据框[列]中的值。我正在使用 slugify 来更改列中的值。
df[column][0] = "Hello-World"
df[column][1] = "Hi There!"
df[column] type is series
slugify 后的预期值
df[column][0] = "hello-world"
df[column][1] = "hi_there"
我尝试了几次迭代,但无法使其正常工作
df[column_name] = slugify.slugify(str(df[column_name]))
以上结果将所有值串联成一个长字符串并分配给列中的每一行。
我也尝试了以下方法,但得到的结果与上面相同。
df[column_name] = slugify.slugify((df[column_name].to_string(index=False,header=False)))
关于如何对列中的每个值应用 slugify 的任何建议。 谢谢
你能试试吗
from slugify import slugify
df['column_name'] = df['column'].apply(lambda x :slugify(x))
你可以直接apply
slugify
函数
df.column1.apply(slugify.slugify)
在你的情况下会产生
0 hello-world
1 hi-there
Name: column1, dtype: object
你最初的尝试
slugify.slugify(str(df[column_name]))
显然行不通,因为 str(df[column_name])
会生成整个列的字符串表示形式,然后将其进行 slugified。
我会给你一个更好的答案。 更好,因为不需要外部库。
df['col'] = df.col.replace(' ','-',regex=True)
regex=True 是诀窍