我有一个pandas df,它是从一个csv文件中提取出来的,这个文件是这样创建的
def recalc_stock_2day_rsi(ticker):
output = open("output.csv", "a")
yf.pdr_override()
df = pdr.get_data_yahoo(ticker, start, end)
df_close_only = df['Close']
try:
rsi = calc_rsi(df_close_only, 2)
except AttributeError:
rsi = 100
if rsi < 30:
output.write(f"{ticker}\n")
output.close()
并使用dfcsv = pd.read_csv("output.csv")
转换为csv,它看起来如下所示
UPST
0 WMT
1 NFLX
2 EXC
4 AES
.. ...
63 TME
64 BSX
65 QCOM
66 GILD
67 ABNB
但是由于某种原因,每当我尝试运行命令时
for row in dfcsv:
print(row)
它只输出UPST
2条答案
按热度按时间anhgbhbe1#
for row in dfcsv
循环只遍历dataframe的列,而不是行。你可以像这样使用iterrows()
方法:这将遍历dataframe的每一行,并将该行打印为pandas系列。或者你可以使用它来打印行的特定列:
ny6fqffe2#
当你用for each循环遍历一个 Dataframe 时,它会遍历列:
或