在python

时间:2015-06-29 09:35:41

标签: python arrays pandas

我当然是蟒蛇和熊猫的新手。我正在尝试运行一个功能"得到网址"这是从小Url获取完整/扩展URL的功能。我在python中有一个数据框包含所有短URL。现在我想尝试以下方式。一个是使用"用于"循环,并在所有元素上应用函数,并将创建另一系列的扩展URL,但我不能,不知道为什么,我试着写它像

for i in df2:
     expanded(i) = get_real(df2[[i]])
print(expanded)df2.[i,'expanded']
next()

我想要传递一个函数,该函数将在出错时恢复,但不知道该怎么做。

我尝试的第二个解决方案是将整个数组传递给applymap fucntion

df4 = df3.applymap(get_real)

但这对我也没有用。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

如果短网址是pandas dataFrame中的一列,则可以使用apply函数(虽然我不确定它们是否会在出错时恢复,很可能不会。)

语法 -

 df['<newcolumn>'] = df['<columnname>'].apply(<functionname>)

我希望所有短网址都是一列中的不同行。

如果你想使用for循环,那么你可以做类似的事情 -

for idx in df.index:
    try:
        df['<newcolumn>'][idx] = <functionname>(df['<columnname>'][idx])
    except <TheError you want to catch or if you do not know, leave empty>:
        <Do logic for handling the error>

答案 1 :(得分:0)

我认为您遇到的问题是将数据框视为具有键和值的字典。

我认为您需要做的就是使用

new_df = df2['expanded']

但你应该告诉我们df2的样子