从 python 中的函数输出创建数据框
Create a datarame from outputs of a function in python
我想根据 python 函数的所有输出制作数据框。所以我想创建一个数据集作为 df。有什么想法吗?
import pandas as pd
def test(input):
kl = len(input)
return kl
test("kilo")
test("pound")
# initialize list of lists
data = [[4], [5]]
# Create the pandas DataFrame
df = pd.DataFrame(data, columns = ["Name"])
假设此输入和函数:
words = [['abc', 'd'], ['efgh', '']]
def test(input):
kl = len(input)
return kl
您可以创建 DataFrame:
df = pd.DataFrame(words)
0 1
0 abc d
1 efgh
然后 applymap
你的函数(警告:applymap
很慢,在这种特殊情况下(获取长度),有更快的矢量方法):
df2 = df.applymap(test)
0 1
0 3 1
1 4 0
或者 运行 在创建 DataFrame 之前 python 中的函数:
df = pd.DataFrame([[test(x) for x in l] for l in words])
0 1
0 3 1
1 4 0
一个相关的方法是重复调用你的函数来创建一个列表,然后从中形成数据框:
导入 pandas 作为 pd
单词 = ['kilo', 'pound', 'ton']
定义测试(输入):
kl = len(输入)
return 千里
data = [] # 创建空列表
词条输入:
data.append(测试(条目))
df = pd.DataFrame(数据,列 = ['names'])
我想根据 python 函数的所有输出制作数据框。所以我想创建一个数据集作为 df。有什么想法吗?
import pandas as pd
def test(input):
kl = len(input)
return kl
test("kilo")
test("pound")
# initialize list of lists
data = [[4], [5]]
# Create the pandas DataFrame
df = pd.DataFrame(data, columns = ["Name"])
假设此输入和函数:
words = [['abc', 'd'], ['efgh', '']]
def test(input):
kl = len(input)
return kl
您可以创建 DataFrame:
df = pd.DataFrame(words)
0 1
0 abc d
1 efgh
然后 applymap
你的函数(警告:applymap
很慢,在这种特殊情况下(获取长度),有更快的矢量方法):
df2 = df.applymap(test)
0 1
0 3 1
1 4 0
或者 运行 在创建 DataFrame 之前 python 中的函数:
df = pd.DataFrame([[test(x) for x in l] for l in words])
0 1
0 3 1
1 4 0
一个相关的方法是重复调用你的函数来创建一个列表,然后从中形成数据框:
导入 pandas 作为 pd 单词 = ['kilo', 'pound', 'ton'] 定义测试(输入): kl = len(输入) return 千里 data = [] # 创建空列表 词条输入: data.append(测试(条目))
df = pd.DataFrame(数据,列 = ['names'])