循环并修改列的每个元素

2024-03-29 11:04:53 发布

您现在位置:Python中文网/ 问答频道 /正文

给定这样的数据集

import pandas as pd
d = {'description': ["abcd","efgh","ijkl"], 'code': ["A","K","Z"]}
df = pd.DataFrame(data=d)


  description   code
0   abcd          A
1   efgh          K
2   ijkl          Z

我的目标是得到这个

   description  code
0   "abcd"        A
1   "efgh"        K
2   "ijkl"        Z

这段代码只打印出我的目标

for row in df["description"]:   #accessing to each row
    print(f'"{row}"')           #"modifying" each row

这就是产生的原因

"abcd"
"efgh"
"ijkl"

我试图设置这样的东西,但它是不正确的

rows = df.shape[0]
i = 0
while i < rows:
     f'"{df.loc[i,"description"]}"'
#wrong

或者类似的

df1["description"]=df1["description"].apply(lambda ??

Tags: 数据import目标pandasdfcodedescriptionrows
3条回答

通过行迭代,您可以执行以下操作:

for i, row in df.iterrows():
  new_val = something
  if <condition>:
    new_val = something_else
  df.at[i,'description'] = new_val

您可以简单地尝试以下方法:

df['description1'] = '"'+ df['description'] + '"'
df

  description code description1
0        abcd    A       "abcd"
1        efgh    K       "efgh"
2        ijkl    Z       "ijkl"

使用while循环,它将如下所示:

rows = df.shape[0]
i = 0
while i < rows:
    df.iloc[i,:]['description'] = '"' + df.iloc[i,:]['description'] + '"'
    i = i+1

相关问题 更多 >