Python 使用 Jype1 的范围问题,不能使用 for 循环每一列和每一行

Python Range Problem For Using Jype1 and can not use for loop every column and row

想请教一下,我有一个数据,想打个包。包是 Jar 文件类型。

无论如何,我有一个 csv 文件:

Ürünler01   Ürünler02   Ürünler03   Ürünler04
0   trafik  musavirligi na  na
1   aruba   2930f   48g poe
2   minilink    6363    721l    na
3   rendezvous  point   appliance   na
4   in uzak oku sayaç   na
... ... ... ... ...
79  inbpano kurulum kor panos
80  tn  card    değişim na
81  servis  kapı    kaynaklı    panel
82  evrensel    microwave   outdoor unit
83  hp  ekipman na  na

如您所见,列名称为:“Ürünler01”、“Ürünler02”、“Ürünler03”、“Ürünler04”。

我想应用我的“消息”功能及其如下:

new=[]
for message in df['Ürünler01']:
      new.append(clean_messages(message))

在该代码之后,我将获取它的数据框,然后我可以发布它。

df = pd.DataFrame (new)

结果是

df

    0
0   trafik
1   araba
2   minicik
3   rendezvous
4   in uzak
... ...
79  inbpano
80  en
81  servis
82  evrensel
83  hp

我的问题是我无法在 Ürünler01、Ürünler02、Ürünler03 和 Ürünler04 上应用我的追加“消息”功能。我找不到 iloc 或 loc,也无法理解 python 中的用法。因为我可以使用 i 和 j for 循环在 C 编程中应用,所以我可以对所有行和列执行我的功能。但我的问题是在这个问题上我不能在所有列中使用我的函数。

请帮助我的情况。我在下面添加了图片。我可以打印出“0”列,但我还需要在屏幕截图上绘制的 1、2、3。我在等你的帮助

从你的问题中你的数据框的最终形状不是很清楚,但你可以迭代列名(默认迭代数据框)然后通过索引原始数据框中的列来迭代行by-name

import pandas as pd

# load dataframe
df = pd.read_csv("path_to_file.csv")

# start a new string series
series = pd.Series([], dtype=str)
for colname in df:               # iterate over the column names
    for message in df[colname]:  # iterate over the rows in the column
        series.append(clean_messages(message))

df_result = pd.DataFrame(series)  # optional, can directly use series

但是,您可以直接使用 clean_messages 应用于数据框中的每个值

df_result = pd.DataFrame()
for colname in df:
    df_result[colname] = df[colname].apply(clean_messages)