Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中编写一个循环,以便在条件有效时打印出单词_Python_Loops_Pandas - Fatal编程技术网

在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

我想学习如何在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-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这没有错,这是片面的。如果你能揭示更多的错误,那就太好了。我不知道用户在做什么(我没有他的数据),所以我