所以我得到了一个pandas数据框,只有一列和很多数据。
我需要访问每个元素,而不是更改它(使用apply()),而是将它解析为另一个函数。
当循环通过数据帧时,它总是在第一个数据帧之后停止。
如果我以前把它转换成一个列表,那么我的数字都是大括号(例如[12]而不是12),这样就破坏了我的代码。
有人知道我做错了什么吗?
import pandas as pd
def go_trough_list(df):
for number in df:
print(number)
df = pd.read_csv("my_ids.csv")
go_trough_list(df)
df看起来像:
1
0 2
1 3
2 4
dtype: object
[Finished in 1.1s]
编辑:我发现了一个错误。我的第一个值被识别为头。 所以我把代码改成:
df = pd.read_csv("my_ids.csv",header=None)
但是
for ix in df.index:
print(df.loc[ix])
我得到:
0 1
Name: 0, dtype: int64
0 2
Name: 1, dtype: int64
0 3
Name: 2, dtype: int64
0 4
Name: 3, dtype: int64
编辑:感谢耶斯雷尔和尼克,这是我的解决方案!
首先,我添加了headings=None
,因为我的数据没有头。
然后我将函数改为:
def go_through_list(df)
new_list = df[0].apply(my_function,parameter=par1)
return new_list
而且效果很好!再次感谢各位,问题解决了。
假设您有一个名为“myColumn”的列,并且在dataframe上有一个索引(它是用read_csv自动创建的)。尝试使用.loc函数:
可以将列转换为} :
Series
^{样品:
如果只有一列,请使用^{} 选择第一列:
样品:
这也可以工作,但不推荐使用这种方法,因为
1
可以是数字或字符串,并且它会引发密钥错误:相关问题 更多 >
编程相关推荐