[英]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.