问题描述
Ü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进行循环的C编程应用一样,我可以完成所有行和列的功能。但是我的问题是这个问题我不能在所有列中使用我的函数。
请帮助我。我在下面添加了图片。我可以打印出“ 0”列,但我也需要将1,2,3画在屏幕截图上。我在等你的帮助
解决方法
您的问题尚不清楚数据框的最终形状,但是您可以遍历列名(对数据框进行默认迭代),然后依次遍历行,方法是按原始索引按名称对列进行索引>
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
但是,您也许可以直接使用df.apply
将clean_messages
应用于数据框中的每个值
df_result = pd.DataFrame()
for colname in df:
df_result[colname] = df[colname].apply(clean_messages)