python - 将pandas DataFrame中的元组旋转到特定的行元素
问题描述
我正在尝试将一个简单的元组 [2] 数据集转换为带有熊猫的可用格式。我将使用用户数据集的示例。
我的输入如下所示:
properties, value
username, 1
email, 2
created, 3
username, 4
email, 5
created, 6
每次“用户名”出现在第一列时,下面的元组都属于该用户。我正在尝试将其转换为一种格式,其中每个用户都列在一行中,属性列在列中。
期望的输出:
username, email, created
1, 2, 3
4, 5, 6
我将输入文件加载到熊猫数据框df中:
with open('input.csv', encoding='utf-16') as f:
df = pd.read_csv(f, sep=" :", engine='python', header=None, parse_dates=True)
然后我想我会使用pivot函数,但我收到以下错误,我不确定如何解决:
ValueError: Index contains duplicate entries, cannot reshape
任何人都可以帮助我朝着正确的方向前进吗?
解决方案
首先,假设 username、email 和 created 是列表对象。每当创建用户时,都会满足每个列表的相同索引。
username = list()
email = list()
created = list()
# Add some elements for first user
username.append('1')
email.append('2')
created.append('3')
# Add some elements for second user
username.append('4')
email.append('5')
created.append('6')
然后,您需要做的就是使用列表名称创建列并正确放置数据。
df = pd.DataFrame(list(zip(username, email, created)), columns=['Username', 'Email', 'Created'])
# Printing without indexes
print(df.to_string(index=False))
打印 DataFrame 的结果将是:
Username Email Created
1 2 3
4 5 6
推荐阅读
- google-cloud-platform - Cloud SQL 和 HTTP 负载平衡
- javascript - 是否可以使用 React 中的 useState() 钩子在组件之间共享状态?
- c - C 程序 - 导致指针崩溃
- batch-file - 批量移动文件到文件夹。文件夹根据文件名命名
- awk - awk 根据另一个匹配和条件更新文件
- python - 在 matplotlib 中使用 pandas timedelta64 作为 x 轴
- java - 重构我必须初始化不同对象的 if 语句
- javascript - Javascript,如果您使用 window.open,如何重定向主页?
- python - 打包 TCP 流
- c - 共享内存 C 题(大小、结构