小编PyN*_*oob的帖子

如何在Python中创建和导入自定义模块

如何在一个python文件中保存以下函数,然后在另一个python文件中使用它?

文件A中的功能

def basic(x):
    print(x)
Run Code Online (Sandbox Code Playgroud)

文件B中的陈述:

basic("some string")
Run Code Online (Sandbox Code Playgroud)

python-3.x

5
推荐指数
1
解决办法
1万
查看次数

或列表理解中的条件

有没有办法以更简洁的方式完成下面的内容?如果我有很多值,那么我的脚本将变得非常难以理解.

现行守则

import xlrd  
filename = r'H:\Book1.xls'
wb = xlrd.open_workbook(filename)
sh1 = wb.sheet_by_index(0)
data = [sh1.row_values(row) for row in range(sh1.nrows) if 1 in sh1.row_values(row) or 9 in sh1.row_values(row) ]
print(data)
Run Code Online (Sandbox Code Playgroud)

代码结果

[[1.0, 2.0, 3.0, '', 4.0, '', 6.0], ['', '', '', '', 9.0, '', '']]
Run Code Online (Sandbox Code Playgroud)

期望的语法

data = [sh1.row_values(row) for row in range(sh1.nrows) if 1,9 in sh1.row_values(row)]
Run Code Online (Sandbox Code Playgroud)

是否可以传入列表或包含1,9等的对象?

python list-comprehension conditional-statements

2
推荐指数
1
解决办法
81
查看次数

列表理解 - Python 2.7

我试图将以下内容转换为列表理解,但它给了我一个无效的语法错误。我尝试了一些解决方案,例如压缩组合,但我无法让它工作。

我显然缺少对列表推导式我能做什么和不能做什么的一些基本理解。我的错误是什么?

作品

def myfun(x, y, z):
        for c in (x,y,z), (x,z,y), (y,x,z), (y,z,x), (z,x,y), (z,y,x):
            print(c)
Run Code Online (Sandbox Code Playgroud)

不起作用

def myfun(x, y, z):
    [print(c) for c in (x,y,z), (x,z,y), (y,x,z), (y,z,x), (z,x,y), (z,y,x)]
Run Code Online (Sandbox Code Playgroud)

python list-comprehension python-2.7

2
推荐指数
1
解决办法
4161
查看次数

Pandas Pivot-交换“列”和“值”

我有一个基于以下代码的工作枢纽:

pd.pivot_table(df,
index=["row_a","row_b"], 
columns=["col_a"],
values=["metric_a", "metric_b"],
aggfunc={"metric_a":np.max, "metric_b":np.sum})
Run Code Online (Sandbox Code Playgroud)

基于该代码,我正确地收到以下输出。

current_pivot

但是,我实际上希望将列与度量交换以接收以下输出。这可能吗?

wanted_pivot

pivot python-3.x pandas

2
推荐指数
1
解决办法
453
查看次数

Python Pandas Dataframe附加行

我正在尝试将数据框值附加为行,但将其作为列附加.我有32个文件,我想从第二列(称为dataset_code)并附加它.但它创建了32行和101列.我想要1列和3232行.

import pandas as pd
import os



source_directory = r'file_path'

df_combined = pd.DataFrame(columns=["dataset_code"])

for file in os.listdir(source_directory):
    if file.endswith(".csv"):
            #Read the new CSV to a dataframe.  
            df = pd.read_csv(source_directory + '\\' + file)
            df = df["dataset_code"]
            df_combined=df_combined.append(df)



print(df_combined)
Run Code Online (Sandbox Code Playgroud)

python dataframe python-2.7 pandas

1
推荐指数
1
解决办法
3415
查看次数