pandas 从 Dataframe 获取数据

xvw2m8pv  于 2022-12-28  发布在  其他
关注(0)|答案(2)|浏览(135)

| 字|线索|
| - ------| - ------|
| PAT|说"好狗"时完成的动作|
| 拉斯科|捣蛋鬼|
| 注射笔|它可能会点击一个作家|
我想从线索列中按索引获取数据。
我已经使用了iloc,但我希望字符串格式的数据在其他地方使用它,它返回的格式不是我想要的。

x = df.iloc[[0],[1]]

它将显示为一个 Dataframe ,当我在下面的代码中使用它时,它还显示了线索(列名):

y = "The answer for: {} Crossword Clue.".format(x)

输出:
答案是:线索\n0说出"好狗"纵横字谜线索时完成的动作。
但我想

The answer for: Action done while saying "Good dog" Crossword Clue.
b4lqfgs4

b4lqfgs41#

使用.iloc时只需去掉方括号,当你在.iloc中传递列表作为行和列的索引时,它会假设你试图拉取多个行和列,并返回一个DataFrame,而不是你所期望的单个单元格的值作为字符串。

x = df.iloc[0,1]    #<----
y = "The answer for: {} Crossword Clue.".format(x)

print(y)
'The answer for: Action done while saying "Good dog" Crossword Clue.'

你可以看到Pandas如何对不同的对象作出React,作为.iloc的输入如下

df.iloc[0,1]   #OUTPUT IS STRING

# 'Action done while saying "Good dog"'

#--------------------------------------

df.iloc[0,[1]]   #OUTPUT IS SERIES

#Clue    Action done while saying "Good dog"
#Name: 0, dtype: object

#--------------------------------------

df.iloc[[0],1]   #OUTPUT IS SERIES

#0    Action done while saying "Good dog"
#Name: Clue, dtype: object

#--------------------------------------

df.iloc[[0],[1]]   #OUTPUT IS DATAFRAME

#                                  Clue
#0  Action done while saying "Good dog"
uelo1irk

uelo1irk2#

另一种方法是

x = data.iloc[0][1]
y = "The answer for: {str} Crossword Clue".format(str = x)

返回你想要的

相关问题