繁体   English   中英

如何将熊猫数据框拆分为列?

[英]How to split a pandas dataframe into columns?

在此处输入图片说明 我有一个数据帧,它将长100个项目。 我在网上找到的一个临时Web模板上显示此数据框(我不太了解html)。 问题在于列表仅使您从1-100一直向下滚动,而且看起来非常糟糕。 我想并排放置两到三列(例如:一列中有33个项目,然后中间有33个项目,依此类推),这样数据帧就不会浪费太多空间。 我不知道这是html问题还是数据帧问题,请原谅我。

我将Flask用于Web框架。

如果您需要我提供html代码,则可以。

while counter < 50:
e = str(elem[counter].get_attribute("href"))
e = e.replace("https://www.reddit.com/r/", "")
e = e[:-1]

if e in df['Subreddit'].values:
    df.loc[df['Subreddit'] == e, 'Appearances'] += 1
else:
    df = df.append({'Subreddit': e, 'Appearances': 1}, ignore_index=True)

print(e)
# because there are 2 html tags of the same subreddit name, we have to increment by 2 each time.
counter = counter + 2


df.sort_values(by='Appearances', ascending=False,  inplace=True)
print(df)
df.to_csv(Location, index=False)
browser.close()

当前状态如图所示。 我想在popularsubs区域下面有三列数据。

示例数据:

df = pd.DataFrame(data={'B': ['a', 'b', 's', 'f', 'g', 'r', 'h'], 'A':[1, 2, 3, 4, 5, 6, 7]})

您可以将数据框拆分为数据框数组:

size = 3
array = [df.iloc[start: start+size].reset_index() for start in range(0, len(df), size)]

如果需要单个数据框,则将它们串联起来。 我使用reset_index在所有数据帧中具有相同的索引以将它们连接起来。 如果您不想连接,则无法重置索引。

df = pd.concat(array, 1).drop(['index'], 1)

日期:

   B  A  B  A    B    A
0  a  1  f  4    h  7.0
1  b  2  g  5  NaN  NaN
2  s  3  r  6  NaN  NaN

另外,如果需要,可以使用df.fillna(value)函数将NaN替换为另一个值。 示例: df.fillna('')看起来最后只有空单元格。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM