我有一个数据帧列表,我希望将该列表中每个数据帧的摘要统计信息返回到一个新的数据帧中-能够选择每个初始数据帧中的列(值)来返回摘要统计信息。输出数据帧中的每一行对应于初始列表中的每个数据帧。 我可以使用for循环获得汇总统计信息输出,但它只会给我列表中最后一个数据帧的汇总统计信息,而不是列表中的所有数据帧。下面是一个for循环示例,它为我提供了列表中最后一个数据帧的输出统计信息。 for i in step2:
step3=i.describe() #gives me a single df of the last item (dataframe) in my list 下面是我的列表
我如何转换这个数据帧..。 name | group
James | 1
Mike | 2
Tod | 1
Rico | 2
Billie | 3
Mike | 3
Tod | 2 要这样做: name | in_group_1 | in_group_2 | in_group_3
James | True | False | True
Mike | False | True | True
Tod
我正在尝试将数据帧导出到现有的格式化csv文件中,但数据帧一直以垂直的形式附加,并附加了应该是水平的附加标头。
A B C D E F
1 2 3 4 5 6 #=-> This is the format I have in my exisiting csv file
A B C D E F
1 2 3 4 5 6
x x x x x x #-> This is how I want to do it
A B C D E F
1 2 3 4 5 6
A 1
B 2
C 3
D 4 #-> This is what's currently happen
假设您有一个函数数组。每个函数返回一个具有相同索引和大小的pandas.Series对象。每个函数都接受相同的输入,即主数据df。
我正在寻找一个输出,该输出将本系列的每一项都作为结果数据帧的列。
目前,我有以下几点:
df_result = [f(df) for f in f_arr]
df_result = pd.DataFrame(df_result)
这需要很长时间(列表操作似乎有一些开销),由此产生的数据就是我所需要的转换。我觉得应该有一个干净的地图/应用的方式来做到这一点。
我正在尝试创建twitter数据的数据框架。使用twitter API,我有一个作为列表(tweets)的twitter对象列表,并希望使用来自这些twitter对象的各种信息填充一个数据帧,并对文本使用一些其他函数。我当前的方法对每个列使用列表理解,每次迭代所有tweet。 df = pd.DataFrame(data=[tweet.all_text for tweet in tweets], columns=["tweets"])
df.loc[:, 'id'] = np.array([tweet.id for tweet in tweets])
df.
我创建了一个有3个参数输入的函数:x,y,z,我想循环遍历它们。X是具有一列y的数据帧,z要求具有多列的数据帧 我试过这个: result = [f(x,y,z) for x,y,z in zip(df1["1com"], df2["1com"], df3["3com"])] Df 1,2,3具有相同的索引长度。 这不起作用,因为方法list comp不允许像这样的多个列。我试过很多东西都没成功。 顺便说一句,我在这里找到了列表理解方法:How to iterate over rows in a DataFrame in Pandas
我想创建一个函数,它接受两个名为键和值的列表作为参数,并返回一个数据帧,example:create_dataframe("One"," two ",["X","Y","A","B"]) ->应该返回一个数据帧 One Two
0 X A
1 Y B 出于这个目的,到目前为止(我正在学习)我已经使用了下面的代码,但是结果只显示了Zero,有人能指导我哪里错了吗? import pandas as pd
def create_dat
我的dataframe表示一个图的边列表,格式如下:
node1 node2 weight
0 a c 1
1 b c 2
2 d c 3
我的目标是生成等价的邻接矩阵:
a b c d
a 0 0 1 0
b 0 0 2 0
c 0 0 0 3
d 0 0 0 0
目前,在构建边的数据帧时,我计算了节点的数量,并创建了一个NxN数据帧并手动填充值。pandas从第一个数据帧生成第二个数据帧的方式是什么?
我有一个函数可以生成一个10行的数据帧,我的目标是获得135个这样的数据帧。我不想将它们分开,所以我需要将它们连接到一个数据帧中,这样它就有10行和135个标记列,但我希望有效地做到这一点。我最接近我所需要的是: for i in range(len(docs)):
for l in labels_list:
df = pd.concat([pd.DataFrame({l:(my_func(i)})]) 但很明显,这只返回了数据帧的最后一列... 编辑 另一种方式: 我将my_func的结果附加到一个列表中,现在我有了一个包含135个列表和每个列表中的10个字符串的列
我正在尝试将dataframe转换为字典(因为它们在过滤key时速度更快),我目前正在使用 t3 = time()
r={}
for i in df.index.unique():
r[i]=[]
r[i].append(df.loc[i].values)
print(round((time()-t3), 1), "s") 这种类型的转换速度很慢。有没有别的选择呢?我希望数据帧的索引作为键,行作为在单个键上具有多个值的值
假设我有一个类似于下面的列表: l = ['A','B','C','D','E','F','G','H','I','L','M','N'] 我想创建一个有4列的数据帧,因为列表中每4个对象就是一行。结果应该是具有以下形式的数据帧: Col1 Col2 Col3 Col4
A B C D
E F G H
I
我有一个JSON文件,我将其转换为pandas数据帧,
# Bring in data
audit = pd.read_json('audit_2018-03-02.json')
现在,我有一些列,这些列的值是一个字符串列表。
foo
[By Audience, By Vendor]
[By Month, By Keyword, By Ad Group, By Service]
[By Month, By To Date, By Keyword, By Ad Group]
我正在尝试遍历foo列,并从该列创建一个数据框。
我试过了,
list
我有以下代码: # Get the min and max dates
minDate, maxDate = df2.select(f.min("MonthlyTransactionDate"), f.max("MonthlyTransactionDate")).first()
d = pd.date_range(start=minDate, end=maxDate, freq='MS')
tmp = pd.Series(d)
df3 = spark.createDataFrame(tmp) 我已经检查了tmp,我有一个熊猫数据帧的日