質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

592閲覧

Python3系・Pandasでリスト化した一部のデータを結合したい

amaturePy

総合スコア131

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/05/18 10:18

PythonのPandasを使って"/"区切りで処理したCSVデータ(split_oid0)出力時にread_oid0の「コンポーネントID(フォルダー) 」カラムをOIDカラムの前に挿入して表示させたいです。
コード自体が効率的でない書き方かもしれないのですが、ご教授頂けると幸いです。
試した物としては、pandasのconcatやmergeを試したのですが、上手く結合させることができずにいます。
元々表示させるデータの指定方法が問題で結合させる必要がないかもしれないですが、Pandasの経験不足でして申し訳ありません。

import pandas as pd file0 = "./node_file2.csv" file1 = "./node_file3.csv" fr0 = pd.read_csv(file0, usecols=[1]) read_oid0 = pd.read_csv(file0, usecols=[1,11]) read_oid1 = pd.read_csv(file1, usecols=[1,8]) split_oid0 = read_oid0['OID'].str.split('/', expand=True) split_oid0 = split_oid0.fillna('OIDなし') split_oid1 = read_oid1['OID'].str.split('/', expand=True) split_oid1 = split_oid1.fillna('OIDなし') #merge_data = pd.concat(read_oid0, split_oid0,axis=1, join='inner') print(read_oid0) print(split_oid0)
結果 コンポーネントID(フォルダー) OID 0 5906 1618544796/1043253441/1468827215 1 5906 1618544796/1043253441/1468827215 2 5906 1618544796/1043253441/1468827215 3 5906 1618544796/1043253441/1468827215 4 5906 1618544796/1043253441/1468827215 .. ... ... 197 8102 NaN 198 8170 1714135326 199 8170 1714135326 200 8170 1714135326 201 8170 NaN [202 rows x 2 columns] 0 1 2 0 1618544796 1043253441 1468827215 1 1618544796 1043253441 1468827215 2 1618544796 1043253441 1468827215 3 1618544796 1043253441 1468827215 4 1618544796 1043253441 1468827215 .. ... ... ... 197 OIDなし OIDなし OIDなし 198 1714135326 OIDなし OIDなし 199 1714135326 OIDなし OIDなし 200 1714135326 OIDなし OIDなし 201 OIDなし OIDなし OIDなし [202 rows x 3 columns]

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

インデックスが変わらないなら、

python

1merge_data = read_oid0.join(split_oid0)

でもいけると思いますよ。

投稿2020/05/18 11:15

x98000

総合スコア1096

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

amaturePy

2020/05/18 14:40

ありがとうございます!実装できました!
guest

0

こういう事でしょうか?

Python

1import pandas as pd 2read_oid0 = pd.DataFrame({'コンポーネントID(フォルダー)':[5906,5906,5906,5906,5906], 3 'OID':['1618544796/1043253441/1468827215', 4 '1618544796/1043253441/1468827215', 5 '1618544796/1043253441/1468827215', 6 '1618544796/1043253441/1468827215', 7 '1618544796/1043253441/1468827215']}) 8 9split_oid0 = read_oid0['OID'].str.split('/', expand=True) 10split_oid0 = split_oid0.fillna('OIDなし') 11 12merge_data = pd.concat([read_oid0.drop('OID', axis=1), split_oid0], axis=1) 13print(merge_data) 14# コンポーネントID(フォルダー) 0 1 2 15#0 5906 1618544796 1043253441 1468827215 16#1 5906 1618544796 1043253441 1468827215 17#2 5906 1618544796 1043253441 1468827215 18#3 5906 1618544796 1043253441 1468827215 19#4 5906 1618544796 1043253441 1468827215

投稿2020/05/18 11:02

magichan

総合スコア15898

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

amaturePy

2020/05/18 14:41

ありがとうございます!参考にさせて頂きます!頂いたコードで実装できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問