在Python中编写一个循环,以便在条件有效时打印出单词
我想学习如何在Python中编写一个循环,以便在以下条件有效的情况下打印出字数在Python中编写一个循环,以便在条件有效时打印出单词,python,loops,pandas,Python,Loops,Pandas,我想学习如何在Python中编写一个循环,以便在以下条件有效的情况下打印出字数 # sys.setdefaultencoding() does not exist, here! import sys reload(sys) # Reload does the trick! sys.setdefaultencoding('UTF8') import tushare as ts import pandas as pd df = ts.get_tick_data('002428','2015-0
# sys.setdefaultencoding() does not exist, here!
import sys
reload(sys) # Reload does the trick!
sys.setdefaultencoding('UTF8')
import tushare as ts
import pandas as pd
df = ts.get_tick_data('002428','2015-03-02')
df.head(10)
for volume in df:
if volume = 777:
print "buy signal"
elif volume = 12345:
print "wait and see"
else:
print "nothing"
好像不行。我希望所有过滤后的数据都能以熊猫数据帧格式存储。要比较项目,请使用比较运算符(
=
),而不是赋值运算符(=
),也如注释中提到的@EdChum,您正在迭代列。要迭代列,请使用[code>df[column\u name]:
for volume in df['volume']:
if volume == 777:
print "buy signal"
elif volume == 12345:
print "wait and see"
else:
print "nothing
要比较项目,请使用比较运算符(
=
),而不是赋值运算符(=
),也如注释中提到的@EdChum,您正在迭代列。要迭代列,请使用[code>df[column\u name]:
for volume in df['volume']:
if volume == 777:
print "buy signal"
elif volume == 12345:
print "wait and see"
else:
print "nothing
要比较项目,请使用比较运算符(
=
),而不是赋值运算符(=
),也如注释中提到的@EdChum,您正在迭代列。要迭代列,请使用[code>df[column\u name]:
for volume in df['volume']:
if volume == 777:
print "buy signal"
elif volume == 12345:
print "wait and see"
else:
print "nothing
要比较项目,请使用比较运算符(
=
),而不是赋值运算符(=
),也如注释中提到的@EdChum,您正在迭代列。要迭代列,请使用[code>df[column\u name]:
for volume in df['volume']:
if volume == 777:
print "buy signal"
elif volume == 12345:
print "wait and see"
else:
print "nothing
正如Reut提到的,您需要使用“==”而不是“=”进行比较。还有循环
for volume in df:
do stuff
循环数据框中的列。如果要循环遍历列中的值,请执行以下操作:
for i in df['volume']:
do stuff
def my_func(volume):
if volume == 777:
return "buy signal"
elif volume == 12345:
return "wait and see"
else:
return "nothing"
df['type'] = df.volume.apply(my_func)
如果要将结果存储在数据框中,我将定义一个函数,然后将其应用于数据框,如下所示:
for i in df['volume']:
do stuff
def my_func(volume):
if volume == 777:
return "buy signal"
elif volume == 12345:
return "wait and see"
else:
return "nothing"
df['type'] = df.volume.apply(my_func)
最后一步,如果要将其过滤为仅“购买信号”行,请执行以下操作:
new_df = df[df['type'] == 'buy_signal']
正如Reut提到的,您需要使用“==”而不是“=”进行比较。还有循环
for volume in df:
do stuff
循环数据框中的列。如果要循环遍历列中的值,请执行以下操作:
for i in df['volume']:
do stuff
def my_func(volume):
if volume == 777:
return "buy signal"
elif volume == 12345:
return "wait and see"
else:
return "nothing"
df['type'] = df.volume.apply(my_func)
如果要将结果存储在数据框中,我将定义一个函数,然后将其应用于数据框,如下所示:
for i in df['volume']:
do stuff
def my_func(volume):
if volume == 777:
return "buy signal"
elif volume == 12345:
return "wait and see"
else:
return "nothing"
df['type'] = df.volume.apply(my_func)
最后一步,如果要将其过滤为仅“购买信号”行,请执行以下操作:
new_df = df[df['type'] == 'buy_signal']
正如Reut提到的,您需要使用“==”而不是“=”进行比较。还有循环
for volume in df:
do stuff
循环数据框中的列。如果要循环遍历列中的值,请执行以下操作:
for i in df['volume']:
do stuff
def my_func(volume):
if volume == 777:
return "buy signal"
elif volume == 12345:
return "wait and see"
else:
return "nothing"
df['type'] = df.volume.apply(my_func)
如果要将结果存储在数据框中,我将定义一个函数,然后将其应用于数据框,如下所示:
for i in df['volume']:
do stuff
def my_func(volume):
if volume == 777:
return "buy signal"
elif volume == 12345:
return "wait and see"
else:
return "nothing"
df['type'] = df.volume.apply(my_func)
最后一步,如果要将其过滤为仅“购买信号”行,请执行以下操作:
new_df = df[df['type'] == 'buy_signal']
正如Reut提到的,您需要使用“==”而不是“=”进行比较。还有循环
for volume in df:
do stuff
循环数据框中的列。如果要循环遍历列中的值,请执行以下操作:
for i in df['volume']:
do stuff
def my_func(volume):
if volume == 777:
return "buy signal"
elif volume == 12345:
return "wait and see"
else:
return "nothing"
df['type'] = df.volume.apply(my_func)
如果要将结果存储在数据框中,我将定义一个函数,然后将其应用于数据框,如下所示:
for i in df['volume']:
do stuff
def my_func(volume):
if volume == 777:
return "buy signal"
elif volume == 12345:
return "wait and see"
else:
return "nothing"
df['type'] = df.volume.apply(my_func)
最后一步,如果要将其过滤为仅“购买信号”行,请执行以下操作:
new_df = df[df['type'] == 'buy_signal']
使用==,而不是=。你没有像你想象的那样在df中循环。您只是在列中循环,需要在行中循环
for index in df.index:
volume = df.loc[index,'volume']
if volume == 777:
print index, volume, "buy signal"
elif volume == 12345:
print index, volume, "wait and see"
else:
print index, volume, "nothing"
使用==,而不是=。你没有像你想象的那样在df中循环。您只是在列中循环,需要在行中循环
for index in df.index:
volume = df.loc[index,'volume']
if volume == 777:
print index, volume, "buy signal"
elif volume == 12345:
print index, volume, "wait and see"
else:
print index, volume, "nothing"
使用==,而不是=。你没有像你想象的那样在df中循环。您只是在列中循环,需要在行中循环
for index in df.index:
volume = df.loc[index,'volume']
if volume == 777:
print index, volume, "buy signal"
elif volume == 12345:
print index, volume, "wait and see"
else:
print index, volume, "nothing"
使用==,而不是=。你没有像你想象的那样在df中循环。您只是在列中循环,需要在行中循环
for index in df.index:
volume = df.loc[index,'volume']
if volume == 777:
print index, volume, "buy signal"
elif volume == 12345:
print index, volume, "wait and see"
else:
print index, volume, "nothing"
它似乎不起作用
以什么方式?for循环不起作用,因为返回的iterable对象是列而不是行,您需要循环索引值,因此对于df中的i.index:35;做点什么
您能显示“print df.head()”的结果吗?@jay,我刚把它放出来。它似乎以什么方式不起作用
你的for循环不起作用,因为返回的iterable对象是列而不是行,你需要在索引值上循环,所以for I in df.index:#做点什么
你能显示“print df.head()”的结果吗?@jay,我刚把它放出来。它似乎以什么方式不起作用
你的for循环不起作用,因为返回的iterable对象是列而不是行,你需要在索引值上循环,所以for I in df.index:#做点什么
你能显示“print df.head()”的结果吗?@jay,我只是把它放出来。它似乎以什么方式不起作用了?你的for循环不会起作用,因为返回的iterable对象是列而不是行,你需要循环索引值,所以for I in df.index:#做点什么
你能显示“print df.head()”的结果吗?@jay,我刚把它放出来。是的,我刚换了衣服,但还是没印出来。但是我确信有一些卷等于777。打印volume
变量以查看实际存在的内容。很抱歉,您的答案是错误的,从df
返回的iterable与OP一样是列而不是行intending@EdChum这没有错,这是片面的。如果你能揭示更多的错误,那就太好了。我不知道用户在做什么(我没有他的数据),所以我尽了我所能帮助他。你已经纠正了语法错误,但是迭代df将返回列而不是行,所以是的,你的答案部分正确,但没有完全回答他的问题是的,我只是更改了,但仍然没有打印。但是我确信有一些卷等于777。打印volume
变量以查看实际存在的内容。很抱歉,您的答案是错误的,从df
返回的iterable与OP一样是列而不是行intending@EdChum这没有错,这是片面的。如果你能揭示更多的错误,那就太好了。我不知道用户在做什么(我没有他的数据),所以我